⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html-cancel.jsp

📁 Spring +Web 的完整 MyEclipse 项目源码,使用者可以作为入门材料可以在此基础上深入学习
💻 JSP
字号:
<%@ page contentType="text/html;charset=GB2312" import="java.util.*"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<html:base/>
<title>&lt;html:cancel&gt;</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="white">

<h1>&lt;html:cancel&gt;</h1>

<p>&lt;html:cancel&gt;标记将在网页上生成一个"取消"按钮,用户可以通过点击它触发一个取消事件。这个取消事件通常
是在用户已经点击了"提交"按钮后,又临时想取消这次提交时生成的。因此,"取消"按钮并不只是简单的页面效果,而要
深入后台,其实也就是调用一个Action来对用户的提交进行处理,做一些清除的工作。&lt;html:cancel&gt;按钮要使用
在一个表单内部,可以用以下两种方式来使用该标记:</p>
<font class="CodeStyle">
&lt;html:cancel&gt;Cancel&lt;/html:cancel&gt;<br>
或<br>
&lt;html:cancel property="org.apache.struts.taglib.html.CANCEL" value="Cancel"/&gt;&lt;br&gt;
</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">
&lt;input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Cancel" onclick="bCancel=true;"&gt;
</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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.....<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isCancelled(request)){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return mapping.findForward("cancelled");<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br>
}
</font>

<p>这其中有一个isCancelled(),该函数的作用就是从request对象中取出bCancel变量,并且判断其是否为真,若为真则
转发到相应的Action去处理,则不为真,则说明是普通的提交动作,继续下面的代码。这个isCancelled()方法被定义在Action
类中,其代码如下:</p>
<font class="CodeStyle">
protected boolean isCancelled(HttpServletRequest request) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 + -