这是我在学习struts2第三节课件时候记得笔记,内容还算详细,可以看看

来源:互联网 发布:软件设计师准考证 编辑:程序博客网 时间:2024/06/06 02:18

1、iterator
 用于迭代集合,集合可包括List,Set,Map还有数组
 value:指定被迭代的集合
 id:指定集合里的元素的ID
 status(里面有很多的属性):指定迭代时IteratorStatus实例,通过该实例可判断当前迭代元素的属性
 事例代码:<s:iterator id="sss" value="{'javaSE','javaWeb','javaEE','.NET'}" status="sta">
   <tr <s:if test="#sta.odd">bgcolor="gray"</s:if>>
   <td><s:property value="sss"/></td>
   <td><s:property value="#sta.index+'1'"/></td>
   </tr>
  </s:iterator>

  map对象:#{key1:value1,key2:value2.......}
  list对象:{e1,e2,e3....... }

 

2、iterator迭代Map对象
 当Map对象里有很多KEY-VALUE的时候,需要迭代好几次。
 用<s:property>取值的时候,将value属性值分别赋给KEY和VALUE
 事例代码:<s:iterator value="#{'1':'张三','2':'李四','3':'王五'}">
   KEY:<s:property value="key"/><br/>
   VALUE:<s:property value="value"/><br/>
  </s:iterator>
-----------------------------------------------当把东西放在request里面的时候,怎样取出来------------------------------------------
 事例代码:<s:property value="userPass" escape="false" default="默认值"/><br/>
   request:<s:property value="#request.userName"/>
3、append控制标签:
 将多个集合合并成一个集合
 id属性:确定生成的新集合的名称,便于调用
 <s:param>子元素:append将<s:param>指定的多个集合合并成新的集合
 事例代码;<s:append id="newList">
   <s:param value="{'11','22','33'}"/>
   <s:param value="{'javase','javaweb','javaee'}"/>
  </s:append>
  <table>
   <s:iterator value="#newList" id="name">
    <tr><td><s:property value="name"/></td></tr>
   </s:iterator>
  </table>
4、property控制标签:
 输出value属性指定的值,
 escape:指定是否escapeHTML代码
 事例代码:
  <s:property value="userPass" escape="false" default="默认值"/><br/>
  request:<s:property value="#request.userName"/>
5、SET数据标签:
 用于设置一个新的变量,并放在指定的范围内
 name:属性,必填值,用于指定一个新变量的名称
 scope属性:指定新变量被放置的范围(application,session,request,page)
 value属性:指定将赋给变量的值
 事例代码:<s:set name="x" value="45"/>
  <s:property value="#x"/>

  <s:set name="xx" value="46" scope="session"/>
  <s:property value="#session.xx"/>

  <s:set name="xxx" value="47" scope="application"/>
  <s:property value="#application.xxx"/>

  <s:property value="#attr.xxx"/>

6、url数据标签:
 用于生成一个URL地址,可通过param标子元素加请求的参数
 事例代码:<s:url action="url_test.action" id="testURl">
   <s:param name="id" value="%{id}"></s:param>
   </s:url>
  <s:property value="#testURl"/>


  <s:url action="xx.action" id="aaa">
   <s:param name="id" value="'yux'"></s:param>
   </s:url>
  <s:property value="#aaa"/>
-----------------------------------url验证(源代码)-----------------------------------------------------------------------------------
 URL事例代码:<s:url  action="reg.action" var="act">
  <s:param name="id" value="'yux'"></s:param>
  </s:url>
------------------------------------url验证-------------------------------------------------------------------------------------------------
  <s:a href="%{act}">222</s:a>
  <s:form action="%{act}">
  <s:submit value="提交"></s:submit>
  </s:form>
7、action数据标签:
 在jsp页面中调用指定的action类,并可将结果包含在页面中(executeResult设置为true)
 事例代码:
  <s:action name="show" executeResult="true" />

表单标签:
 用于创建一个html页面 
 action:用于指定处理该表单数据的action类名
 namespace:action的命名空间,(可以省略)
 *所有的输入类标签必须在form内使用
 

 textfield标签:用于在表单中创建一个文本输入项
 name:指定为action类中用来接收输入属性名
 password:同上..........

8、表单标签:datetimepicker
 生产一个可选的日历
 displayFormat属性:指定日期的显示格式
 type属性:指定日期选择框的类型(data,time)
 value属性:指定日期的值(可用taday代表今天)
 导入:struts-dojo-plugin.jar
 导入标签:<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>

 事例代码:
  <%@ taglib prefix="s" uri="/struts-tags"%>
  <%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
  <sx:head />

  <sx:datetimepicker value="today" type="date"   />

 

9、
***********************表单重复提交*******************************8
就是当提交表单的时候,提交按钮被点击了好几次,造成数据的重复提交


struts2有专门针对这种情况的处理
:<s:token></s:token>
  他是由拦截器处理的,但是前提必须把token打开(<interceptor-ref name="token"></interceptor-ref>)
(默认的拦截器站则不会这么处理)stack就是默认的拦截器站

 <s: value="date" formdate="yyyy-MM-DD     HH-mm-ss"

在页面中导入util包的事例代码:<%@page import="java.util.*" %>

 

 

原创粉丝点击