html:cancel按钮的作用,cancel按钮,取消按钮

26 篇文章 0 订阅
16 篇文章 0 订阅

转自http://heisetoufa.iteye.com

struts判断标签

html:cancel
html:cancel标签生成一个取消按钮。当点击该按钮后action servlet会绕过相应的form bean的validate()方法,同时将控制权交给相应的action。在该action中可以使用Action.isCancelled(HttpServletRequest)方法判断是否被取消了。如果返回true表示这个action被取消了,否则表示这个action没有被取消。

请注意,如果您修改了html:cancel标签的property属性值,那么struts提供的cancel探测机制就失效了,您自己必须提供类似的机制。

下面是可取消的action的配置文件,注意<set-property property="cancellable" value="true"/>这一行,如果不添加Struts会抛出org.apache.struts.action.InvalidCancelException异常。这是我在完成本指南的过程中发现的唯一向下不兼容的地方。

Xml代码 
  1. <action path="/cancel"   
  2.   type="org.solo.struts.action.CancelAction" name="cancelForm" scope="request">  
  3.   <set-property property="cancellable" value="true"/>  
  4.   <forward name="success" path="/cancel.jsp" />  
  5. </action>  

 下面是html:cancel标签的代码:

Html代码 
  1. <html:cancel>取消</html:cancel>  

 下面是对应的action中的代码:

Java代码 
  1. if(isCancelled(request)){     
  2.   //action被取消时要做的事情写在这里  
  3.   return mapping.findForward("cancel");  
  4. }else{  
  5.   //action没有被取消时要做的事情写在这里  
  6.   return mapping.findForward("success");  
  7. }  

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要自定义按钮并将其与 QDialogButtonBox 的 OK 和 Cancel 按钮关联起来,您可以使用 QDialogButtonBox::addButton() 方法添加自定义按钮,并使用 QDialogButtonBox::accepted() 和 QDialogButtonBox::rejected() 信号连接自定义按钮的操作。 下面是一个示例代码: ```cpp class CustomDialog : public QDialog { Q_OBJECT public: explicit CustomDialog(QWidget *parent = nullptr); private slots: void onCustomButtonClicked(); private: QDialogButtonBox *buttonBox; QPushButton *customButton; }; CustomDialog::CustomDialog(QWidget *parent) : QDialog(parent) { // 创建对话框的 QDialogButtonBox buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); // 创建自定义按钮 customButton = new QPushButton("Custom Button", this); // 将自定义按钮添加到对话框按钮盒子 buttonBox->addButton(customButton, QDialogButtonBox::ActionRole); // 将按钮盒子添加到对话框 QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(buttonBox); setLayout(layout); // 将自定义按钮的 clicked() 信号与自定义的槽函数 onCustomButtonClicked() 关联 connect(customButton, &QPushButton::clicked, this, &CustomDialog::onCustomButtonClicked); // 将 QDialogButtonBox 的 accepted() 信号与 QDialog 的 accept() 槽函数关联 connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); // 将 QDialogButtonBox 的 rejected() 信号与 QDialog 的 reject() 槽函数关联 connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); } void CustomDialog::onCustomButtonClicked() { // 执行您希望在点击自定义按钮后执行的操作 } ``` 在上述代码,我们创建了一个名为 `CustomDialog` 的 QDialog 子类,并在构造函数创建了 QDialogButtonBox 对象以及一个自定义按钮。然后,我们使用 `addButton()` 方法将自定义按钮添加到 QDialogButtonBox 的 ActionRole 。 接下来,我们将 QDialogButtonBox 添加到 QDialog 的布局,并将自定义按钮的 `clicked()` 信号与自定义的槽函数 `onCustomButtonClicked()` 关联。 最后,我们使用 `accepted()` 信号将 QDialogButtonBox 的 OK 按钮与 QDialog 的 `accept()` 槽函数关联,使用 `rejected()` 信号将 QDialogButtonBox 的 Cancel 按钮与 QDialog 的 `reject()` 槽函数关联。 通过这种方式,您可以自定义一个按钮并将其与 QDialogButtonBox 的 OK 和 Cancel 按钮联系起来。当用户点击任何一个按钮时,对应的 QDialog 的结果将会是 Accepted 或 Rejected,并触发相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值