struts 2 的数据标签主要用于操作页面上显示的数据。下面列出的是重要的数据标签:
此标记使开发人员能够直接从jsp页面调用动作指定动作的名称和一个可选的命名空间。标签的主体内容是用行动来呈现结果。任何结果处理器定义在struts.xml这个动作将被忽略,指定除非executeresult参数。
<div>tag to execute the action</div> <br /> <s:action name="actiontagaction" executeresult="true" /> <br /> <div>to invokes special method in action class</div> <br /> <s:action name="actiontagaction!specialmethod" executeresult="true" />
将用于另一个jsp页面中包含另一个jsp文件。
<-- first syntax --> <s:include value="myjsp.jsp" /> <-- second syntax --> <s:include value="myjsp.jsp"> <s:param name="param1" value="value2" /> <s:param name="param2" value="value2" /> </s:include> <-- third syntax --> <s:include value="myjsp.jsp"> <s:param name="param1">value1</s:param> <s:param name="param2">value2</s:param> </s:include>
bean标签实例化一个类,符合javabeans规范。此标记的主体可以包含多个元素:参数设置该类别的任何mutator方法。如果var属性设置在beantag上,它会放置到堆栈上下文的bean实例。
<s:bean name="org.apache.struts2.util.counter" var="counter"> <s:param name="first" value="20"/> <s:param name="last" value="25" /> </s:bean>
date标签,将让在一个快速和容易的方式格式化日期。可以指定自定义格式(如“dd/ mm / yyyy hh:mm”),可以生成易读的符号(如“2小时,14分钟”),或者可以依傍预定义的格式关键 struts.date.format 属性文件。
<s:date name="person.birthday" format="dd/mm/yyyy" /> <s:date name="person.birthday" format="%{gettext('some.i18n.key')}" /> <s:date name="person.birthday" nice="true" /> <s:date name="person.birthday" />
这些参数标签可用于参数其他标签。该标签具有以下两个参数。
name (string) - 参数的名称
value (object) - 参数的值
<pre> <ui:component> <ui:param name="key" value="[0]"/> <ui:param name="value" value="[1]"/> <ui:param name="context" value="[2]"/> </ui:component> </pre>
这些属性标签是用来获取属性的值,这将默认堆栈的顶部,如果没有指定。
<s:push value="mybean"> <!-- example 1: --> <s:property value="mybeanproperty" /> <!-- example 2: -->textutils <s:property value="mybeanproperty" default="a default value" /> </s:push>
这些push标签是用来推堆栈简化使用。
<s:push value="user"> <s:propery value="firstname" /> <s:propery value="lastname" /> </s:push>
这些set标签分配一个值给一个变量在指定的范围内。它是有用的,当想分配一个变量到复杂的表达式,然后简单地引用变量每次而不是复杂的表达。可用的范围是application, session, request, page和行动。
<s:set name="myenv" value="environment.name"/> <s:property value="myenv"/>
这些 text 标签是用来呈现一个i18n 文本消息。
<!-- first example --> <s:i18n name="struts.action.test.i18n.shop"> <s:text name="main.title"/> </s:i18n> <!-- second example --> <s:text name="main.title" /> <!-- third examlpe --> <s:text name="i18n.label.greetings"> <s:param >mr smith</s:param> </s:text>
这些url标签是用来创建一个url。
<-- example 1 --> <s:url value="editgadget.action"> <s:param name="id" value="%{selected}" /> </s:url> <-- example 2 --> <s:url action="editgadget"> <s:param name="id" value="%{selected}" /> </s:url> <-- example 3--> <s:url includeparams="get"> <s:param name="id" value="%{'22'}" /> </s:url>