📄 html-cancel.jsp
字号:
<%@ page contentType="text/html;charset=GB2312" import="java.util.*"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<html:base/>
<title><html:cancel></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="white">
<h1><html:cancel></h1>
<p><html:cancel>标记将在网页上生成一个"取消"按钮,用户可以通过点击它触发一个取消事件。这个取消事件通常
是在用户已经点击了"提交"按钮后,又临时想取消这次提交时生成的。因此,"取消"按钮并不只是简单的页面效果,而要
深入后台,其实也就是调用一个Action来对用户的提交进行处理,做一些清除的工作。<html:cancel>按钮要使用
在一个表单内部,可以用以下两种方式来使用该标记:</p>
<font class="CodeStyle">
<html:cancel>Cancel</html:cancel><br>
或<br>
<html:cancel property="org.apache.struts.taglib.html.CANCEL" value="Cancel"/><br>
</font>
<html:form action="/test.do">
<html:text property="testString"/><br>
<html:submit property="submit" value="Submit"/>
<html:reset property="reset" value="reset"/>
<html:cancel property="org.apache.struts.taglib.html.CANCEL" value="Cancel"/>
</html:form>
<p>上面的代码生成的html代码如下所示:</p>
<font class="CodeStyle">
<input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Cancel" onclick="bCancel=true;">
</font>
<p>可以看到,在生成的html标记最后有一个onclick="bCancel=true;",这个onclick动作是在用户点击取消按钮时发生的
,其实也就是运行一个javascript脚本,它给一个名为bCancel的变量赋值为true。为什么要这样呢?先看看以下代码,这是
一段在用户点击cancel后执行的程序,其实它就是位于和提交表单后所执行的相同的Action内。因为cancel动作和submit动
作在生成html代码后的类型都是一样的,都为"submit"。这一点从上面的介绍中可以看到。</p>
<font class="CodeStyle">
......<br>
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{<br>
.....<br>
if (isCancelled(request)){<br>
return mapping.findForward("cancelled");<br>
}<br>
......<br>
}
</font>
<p>这其中有一个isCancelled(),该函数的作用就是从request对象中取出bCancel变量,并且判断其是否为真,若为真则
转发到相应的Action去处理,则不为真,则说明是普通的提交动作,继续下面的代码。这个isCancelled()方法被定义在Action
类中,其代码如下:</p>
<font class="CodeStyle">
protected boolean isCancelled(HttpServletRequest request) {<br>
return (request.getAttribute(Globals.CANCEL_KEY) != null);<br>
}<br>
</font>
<p>这个Globals.CANCEL_KEY的值就是cancel按钮的name属性,也就是org.apache.struts.taglib.html.CANCEL</p>
<p>
<a href="index.jsp">返回主页面</a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -