strus2常用标签自己一点小小的应用1

常用标签的应用的总结:

在用struts2的标签的时候,必须导入标签库<%@ taglib uri=”/struts-tags” prefix=”s”%>

1、 对日期的处理

 strust2的标签库中,对日期处理的标签集成了第三方的插件。用起来很直观

 

但是在执行的时候必须这么做:

首先,要导入struts2的自己的风格单

<s:head/><!--表示把常用的css风格单和js控件生成到页面-->

然后,写内容:

<s:datetimepicker name="orderinfo.orderdate" theme="simple"/>

Theme:主题,这里采用的是<s:head/>导入struts2的主题,在这里不合适,而要采用自己定义的格式,”simple”:表示简单的格式

2、 fromaction内容的处理

<form action="./oa/orderinfosave.do" method="post">

在配置文件中对应的是(这里我们是把方法写死的)

       <action name="orderinfosave" method="save"

           class="org.www.actions.OrderinfoAction">

           <result name="input">/orderinfonew.jsp</result>

           <result name="success" type="chain">orderinfolist</result>

       </action>

       <action name="orderinfolist" method="list"

           class="org.www.actions.OrderinfoAction">

           <result name="input">/orderinfonew.jsp</result>

           <result name="list">/orderinfo.jsp</result>

       </action>

方法1<s:url id="one" action="orderinfosave" namespace="/oa" method="save"></s:url>

   2  <s:url id="one" action="/oa/orderinfosave"></s:url>

替换<form action="${one}" method="post">

即使把方法不写死,也是可以一样的用,但是感觉这个没多大的用处

3struts中的<s:form />方法

<s:form action="" namespace="" method=””/>

action中的提交数据,action=””指的是哪个action,这里不用加后缀名,比如说.do,.action等。namespace=””指的是你配置的xml文件中的那个package,method指的是哪个方法。

4、 防止重复标签<s:token/>

<s:token/>主要是防止重复提交,比如说新增的时候,然后再调用展现方法转到展现页面,而方法之间是dispatcher转向的话,实际上还是调用的新增的方法,当再刷新展现页面的时候,就会再次新增。而struts2提供了一个标签。来防止重复提交。

首先,在jsp页面中要保存<s:token/>标签,它会自动生成一个tokenValuesession中。

在该jsp页面转向的action中,在该actionxml文件中,必须配置token拦截器

   <interceptor-ref name="token"></interceptor-ref>

<interceptor-ref name="basicStack"></interceptor-ref>这个是基本拦截器

而在该action配置的转向中,必须配置一个invalid.token转向。

如:<result name="invalid.token" type="redirect">/index.jsp</result>

   这里要注意的是。不能动态写方法,那样的话每次都会调用token拦截器,那样就会转到invalid.token对应的页面

5、 单选框<s:radio>标签

   <s:radio  name=""  list="" value="" />

   name表示表单提交属性的名称,list表示单选框的所有内容,value表示默认选择的内容的值.比如说:<s:radio  theme="simple" name="emp.sex"  list="{'',''}"       value="’’" />theme:表示风格方式,因为该标签会自动添加行列,这里取消。采用简单风格方式。如果说从action中传递过来取值的可以这样做:

<s:radio theme="simple" name="emp.sex" list="#request.sexs"       value="#request.sex" /> list="#request.sexs"request中去存储的数据。

list不仅仅可以放setlist容器,而且可以装map容器的值。

比如说:

 <s:radio name="xtyh.yhzt" list="#{'1':'启用','2':'停用'}" value="1">

其实,在action中。Struts2会把所有属性默认存储在值堆栈(VlaueStrack),而值堆栈有放在request中。所以可以用request来取。value="#request.sex"request中取默认值。如果是在ValueStack中,就不需要加”#reuqest”等这些东西了

6、 下拉框<s:select>

 

你可能感兴趣的:(jsp,xml,struts,css)