write
bean:write标签将指定的bean的属性值写到当前的JspWriter中,并且可以对输出进行格式化。
下面的代码片段示例了bean:write标签输出User-Agent:
<logic:present header="User-Agent"> <bean:header id="header" name="User-Agent"/> <bean:write name="header"/></logic:present>
下面的代码片段示例了bean:write标签格式化输出当前日期,其中now是在DataForm中定义的一个java.util.Date类型的域(值为new Date()),format.date.standard是在资源文件中的一个键(format.date.standard=yyyy-MM-dd):
<bean:define id="date" name="dataForm" property="now"/><br/><bean:write name="date"/><br/><bean:write name="date" format="MM/dd/yyyy"/><br/><bean:write name="date" formatKey="format.date.standard"/>
上面代码运行的结果为:
Sun Jun 04 17:04:05 CST 200606/04/20062006-06-04
回页首
html:base 虽然这里的标题是html:base标签,但是这里也是这篇指南要介绍的第一个Struts html标签。因此我想在这里从整体上简单的介绍一下,最后给出一个对照表。其中的绝大多数标签就不一一介绍了,要介绍的也不会在这里介绍,而是将其独立出来以显重要性。
从用户处收集数据是动态web应用非常重要的一个方面,因此构建输入表单也就自然而然的成为struts框架的一个重要内容。Struts html标签库含有创建Struts输入表单的标签,和其它标签库(bean、logic、nested和tiles)中的标签一起协作就可以产生基于html的用户界面。
下面的对照表会使您对Struts html标签库有一个整体的印象:
图示 1. Struts HTML标签和HTML元素对照表
[img,679,755]file:///C:/Documents%20and%20Settings/fefind/桌面/标签/struts标签1_太阳_海.files/strutshtmlvshtml.gif[/img]
回页首
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异常。这是我在完成本指南的过程中发现的唯一向下不兼容的地方。
<action path="/cancel" type="org.solo.struts.action.CancelAction" name="cancelForm" scope="request"> <set-property property="cancellable" value="true"/> <forward name="success" path="/cancel.jsp" /></action>
下面是html:cancel标签的代码:
<html:cancel>取消</html:cancel>
下面是对应的action中的代码:
if(isCancelled(request)){ //action被取消时要做的事情写在这里 return mapping.findForward("cancel");}else{ //action没有被取消时要做的事情写在这里 return mapping.findForward("success");}
下面的代码片段示例了bean:write标签输出User-Agent:
<logic:present header="User-Agent"> <bean:header id="header" name="User-Agent"/> <bean:write name="header"/></logic:present>
下面的代码片段示例了bean:write标签格式化输出当前日期,其中now是在DataForm中定义的一个java.util.Date类型的域(值为new Date()),format.date.standard是在资源文件中的一个键(format.date.standard=yyyy-MM-dd):
<bean:define id="date" name="dataForm" property="now"/><br/><bean:write name="date"/><br/><bean:write name="date" format="MM/dd/yyyy"/><br/><bean:write name="date" formatKey="format.date.standard"/>
上面代码运行的结果为:
Sun Jun 04 17:04:05 CST 200606/04/20062006-06-04
回页首
html:base
从用户处收集数据是动态web应用非常重要的一个方面,因此构建输入表单也就自然而然的成为struts框架的一个重要内容。Struts html标签库含有创建Struts输入表单的标签,和其它标签库(bean、logic、nested和tiles)中的标签一起协作就可以产生基于html的用户界面。
下面的对照表会使您对Struts html标签库有一个整体的印象:
图示 1. Struts HTML标签和HTML元素对照表
[img,679,755]file:///C:/Documents%20and%20Settings/fefind/桌面/标签/struts标签1_太阳_海.files/strutshtmlvshtml.gif[/img]
回页首
html:cancel
请注意,如果您修改了html:cancel标签的property属性值,那么struts提供的cancel探测机制就失效了,您自己必须提供类似的机制。
下面是可取消的action的配置文件,注意<set-property property="cancellable" value="true"/>这一行,如果不添加Struts会抛出org.apache.struts.action.InvalidCancelException异常。这是我在完成本指南的过程中发现的唯一向下不兼容的地方。
<action path="/cancel" type="org.solo.struts.action.CancelAction" name="cancelForm" scope="request"> <set-property property="cancellable" value="true"/> <forward name="success" path="/cancel.jsp" /></action>
下面是html:cancel标签的代码:
<html:cancel>取消</html:cancel>
下面是对应的action中的代码:
if(isCancelled(request)){ //action被取消时要做的事情写在这里 return mapping.findForward("cancel");}else{ //action没有被取消时要做的事情写在这里 return mapping.findForward("success");}