`
guanjh
  • 浏览: 229167 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts 2 Tag用法

阅读更多

 

append 和 iterator

参考:http://www.roseindia.net/struts/struts2/struts2controltags/append-tag.shtml

 

在Action类的execute方法中,实例化List对象 

public String execute()throws Exception{
    myList = new ArrayList();
    myList.add("www.Roseindia.net");
    myList.add("Deepak Kumar");
    myList.add("Sushil Kumar");
    myList.add("Vinod Kumar");
    myList.add("Amit Kumar");

 

    myList1 = new ArrayList();
    myList1.add("www.javajazzup.com");
    myList1.add("Himanshu Raj");
    myList1.add("Mr. khan");
    myList1.add("John");
    myList1.add("Ravi Ranjan");
    return SUCCESS;
  }

 

jsp页面中使用append和iterator两个tag

 

<s:append id="myAppendList">
      <s:param value="%{myList}" />
      <s:param value="%{myList1}" />
</s:append>
   

<s:iterator value="%{#myAppendList}">
      <s:property /><br>
</s:iterator>


 

generator 和 iterator

参考:http://www.roseindia.net/struts/struts2/struts2controltags/generator-tag.shtml


 

在jsp中使用,'www.Roseindia.net,Deepak Kumar,Sushil Kumar,Vinod Kumar,Amit Kumar'这些内容被分行的显示在页面上。

<s:generator val="%{'www.Roseindia.net,Deepak Kumar,Sushil Kumar,Vinod Kumar,Amit Kumar'}" separator=",">
    <s:iterator>
      <s:property /><br/>
    </s:iterator>
</s:generator>

   
参考:http://www.roseindia.net/struts/struts2/struts2controltags/GeneratorTagCountAttribute.shtml

count="5" -->在jsp页面中显示前5个

<s:generator val="%{'www.Roseindia.net,Deepak Kumar,Sushil Kumar,Vinod Kumar,Amit Kumar, Sanjay, Vijay '}" count="5" separator=",">
   <s:iterator>
      <s:property /><br/>
   </s:iterator>
</s:generator>

参考:http://www.roseindia.net/struts/struts2/struts2controltags/GeneratorTagIdAttribute.shtml
<s:generator val="%{'www.Roseindia.net,Deepak Kumar,Sushil Kumar,Vinod Kumar,Amit Kumar'}" count="4" separator="," id="myAtt" />
<%
Iterator i = (Iterator) pageContext.getAttribute("myAtt");
while(i.hasNext()) {
  String s = (String) i.next(); %>
  <%=s%> <br/>
<% }
%>


 


iterator

参考:http://www.roseindia.net/struts/struts2/struts2controltags/iterator-tag.shtml

在Action类的execute方法中实例化一个List

public String execute()throws Exception{
    myList = new ArrayList();
    myList.add("Fruits");
    myList.add("Apple");
    myList.add("Mango");
    myList.add("Orange");
    myList.add("Pine Apple");
    return SUCCESS;
  }


 

在Jsp中可以通过list的名字来调用

<s:iterator value="myList">
    <s:property /><br>
</s:iterator>


 


merge

参考:http://www.roseindia.net/struts/struts2/struts2controltags/merge-tag.shtml
在Action类的execute方法中实例化两个List
public String execute() throws Exception{
    myList = new ArrayList();
    myList.add("www.Roseindia.net");
    myList.add("Deepak Kumar");
    myList.add("Sushil Kumar");
    myList.add("Vinod Kumar");
    myList.add("Amit Kumar");

    myList1 = new ArrayList();
    myList1.add("www.javajazzup.com");
    myList1.add("Himanshu Raj");
    myList1.add("Mr. khan");
    myList1.add("John");
    myList1.add("Ravi Ranjan");
    return SUCCESS;
  }


 

在jsp中,用merge tag把两个List合并,在iterator中用merge的id来调用

<s:merge id="mergeId">
        <s:param value="%{myList}" />
        <s:param value="%{myList1}" />

</s:merge>
<s:iterator value="%{#mergeId}">
    <s:property /><br>
</s:iterator>
显示顺序:
Display first element of the first list.
Display first element of the second list.
Display second element of the first list.
Display second element of the second list.
Display third element of the first list.
Display thrid element of the second list.....and so on.


subset

参考:http://www.roseindia.net/struts/struts2/struts2controltags/subsetTag.shtml

public String execute() throws Exception{
    myList = new ArrayList();
    myList.add(new Integer(50));
    myList.add(new Integer(20));
    myList.add(new Integer(100));
    myList.add(new Integer(85));
    myList.add(new Integer(500));
    return SUCCESS;
  }


 

调用Action类中的List

 <s:subset source="myList">
    <s:iterator>
      <s:property /><br>
    </s:iterator>
</s:subset>
在页面上显示前三个
<s:subset source="myList" count="3">
    <s:iterator>
      <s:property /><br>
    </s:iterator>
</s:subset>
在页面上显示从2开始的3个
<s:subset source="myList" count="3" start="2">
    <s:iterator>
      <s:property /><br>
    </s:iterator>
</s:subset>

action tag

参考:http://www.roseindia.net/struts/struts2/struts2controltags/action-tag.shtml

The action tag is a generic tag that is used to call actions directly from a JSP page by specifying the action name and an optional namespace. The body content of the tag is used to render the results from the Action. Any result processor defined for this action in struts.xml will be ignored, unless the executeResult parameter is specified.

在struts.xml中定义action映射
<action name="actionTag" class="net.roseindia.actionTag">
       <result name="success">/pages/genericTags/success.jsp</result>
</action>

public String execute() throws Exception{
    return SUCCESS;
  }


 

在jsp页面写入下面代码,那么当请求actionTag.action时,无论Action类net.roseindia.actionTag中怎么处理、如何设定页面转向,此请求直接转到successs.jsp页面

<s:action name="success">
    <b><i>The action tag will execute the result and include it in this page.</i></b></div>
</s:action>


 

bean tag


参考:http://www.roseindia.net/struts/struts2/struts2controltags/bean-tag.shtml
定义一个包含name属性的普通JavaBean,
public class companyName {
 
  private String name;

  public void setName(String name){
    this.name =name ;
  }

  public String getName(){
    return name;
  }
}


 

在jsp中调用

<s:bean name="net.roseindia.companyName" id="uid">
    <s:param name="name">RoseIndia</s:param>
    <s:property value="%{name}" /><br>
</s:bean>


date tag

参考:http://www.roseindia.net/struts/struts2/struts2controltags/date-tag.shtml

  private Date currentDate;
  public String execute() throws Exception{
    setCurrentDate(new Date());
    return SUCCESS;
  }

<s:date name="currentDate" format="MM/dd/yy" />

<s:date name="currentDate" format="MM/dd/yy hh:mm" />

<s:date name="currentDate" format="MM/dd/yy hh:mm:ss" />

Nice Date (Current Date & Time):<s:date name="currentDate" nice="false" />

Nice Date:<s:date name="currentDate" nice="true" />


 


include tage

是不是可以替换frame

<body>
    <h1><span style="background-color: #FFFFcc">Include Tag (Data Tags) Example!</span></h1>
      <s:include value="myBirthday.jsp" />
  </body>


param tag

参考:http://www.roseindia.net/struts/struts2/struts2controltags/param-tag.shtml

<ui:component>
        <ui:param name="empname">Vinod</ui:param><br>
        <ui:param name="empname">Amit</ui:param><br>
        <ui:param name="empname">Sushil</ui:param>
</ui:component>

Case 1. <param name="empname">Amit</param>  Here the value would be evaluated to the stack as a java.lang.String object.
Case 2. <param name="empname" value="Vinod"/> Here the value would be evaluated to the stack as a java.lang.Object object.


set tag

参考:http://www.roseindia.net/struts/struts2/struts2controltags/set-tag.shtml


 

set tag给指定范围内的变量赋值,得到name-value值对
赋值:<s:set name="technologyName" value="%{'Java'}"/>
调用:Technology Name: <s:property value="#technologyName"/>

set tag is used to assign a value to a variable in a specified scope. The parameters name and value in the tag <s:set name="technologyName" value="%{'Java'}"/> acts as the name-value pair. Here we set the parameters as name="technologyName" value="Java".

Text Tag

参考:http://www.roseindia.net/struts/struts2/struts2controltags/text-tag.shtml


 

struts.xml 文件中定义

<action name="textTag" class="net.roseindia.textTag">
       <result>/pages/genericTags/textTag.jsp</result>
</action>


在textTag.java文件所在包下,创建一个package.properties,内容如下:

webname1 = http://www.RoseIndia.net
webname2 = http://www.javajazzup.com
webname3 = http://www.newstrackindia.com


 

在jsp文件调用,如下,前三行显示package.properties对应信息;第四行显示Vinod, Amit, Sushil, .......;最后一行empname

<s:text name="webname1"></s:text><br>
<s:text name="webname2"></s:text><br>
<s:text name="webname3"></s:text><br>
<s:text name="empname">Vinod, Amit, Sushil, .......</s:text><br>
<s:text name="empname"></s:text>

property tag

参考:http://www.roseindia.net/struts/struts2/struts2controltags/property-tag.shtml


 

定义个JavaBean

public class companyName {
 
  private String name;

  public void setName(String name){
    this.name =name ;
  }

  public String getName(){
    return name;
  }
}


 

第二行给companyName的name属性赋值;第三行显示该值(RoseIndia),相当于调用了getName()方法;,

<s:bean name="net.roseindia.companyName" id="uid">
<s:param name="name">RoseIndia</s:param>
  <s:property value="%{name}" /><br>
</s:bean>
<!-- Default value -->
<s:property value="name" default="Default Value" />

<s:property value="%{name}" /> it prints the result of myBean's getMyBeanProperty() method.
<s:property value="name" default="Default Value" /> it prints the result of companyName's
getName() method and if it is null, print 'a default value' instead.

 

 

分享到:
评论

相关推荐

    struts2介绍及应用

    struts2介绍及应用: 全面的介绍struts2 的用法及操作实例 非常不错的哦

    Struts2属性文件详解

    该属性指定是否允许在Struts 2标签中使用表达式语法,因为通常都需要在标签中使用表达式语法,故此属性应该设置为true,该属性的默认值是true. struts.devMode 该属性设置Struts 2应用是否使用开发模式.如果设置该属性...

    Struts2入门教程(全新完整版)

    10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7....

    struts2基本标签用法

    一些struts2标签最基本的用法。

    struts_tag

    struts tag 标签库用法,简单易学,看过即懂

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    专为multipart请求信息使用的org.apache.struts2.dispatcher.multipart.MultiPartRequest解析器接口(文件上传用) struts.multipart.saveDir The directory to use for storing uploaded files 设置存储上传...

    Struts2\constant应用

    该属性指定是否允许在Struts 2标签中使用表达式语法,因为通常都需要在标签中使用表达式语法,故此属性应该设置为true,该属性的默认值是true。 struts.devMode 该属性设置Struts 2应用是否使用开发模式。如果...

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    struts的教程.doc

    有关struts tag lib的配置描述 14 有关Struts Action Mapping的配置描述 14 Form-bean元素 15 Action元素 15 Struts高级特性(Struts Advanced Feature) 17 验证 17 使用异常处理声明 19 使用应用模块...

    java Struts教程

    有关struts tag lib的配置描述 14 有关Struts Action Mapping的配置描述 14 Form-bean元素 15 Action元素 15 Struts高级特性(Struts Advanced Feature) 17 验证 17 使用异常处理声明 19 使用应用模块(Application...

    struts标签库详解

    struts标签库详解:详细讲解了struts标签库的各个标签的使用方法、功能。可以帮助我们很好的使用STRUTS的TAG;

    struts 教程 很好很详细

    有关struts tag lib的配置描述 14 有关Struts Action Mapping的配置描述 14 Form-bean元素 15 Action元素 15 Struts高级特性(Struts Advanced Feature) 17 验证 17 使用异常处理声明 19 使用应用模块(Application...

    struts 标签

    描述struts 中常用标签的用法,struts tag ,标签

    struts 入门教程

    有关struts tag lib的配置描述 14 有关Struts Action Mapping的配置描述 14 Form-bean元素 15 Action元素 15 Struts高级特性(Struts Advanced Feature) 17 验证 17 使用异常处理声明 19 使用应用模块(Application...

    Java Struts教程

    INF后以保护JSP源代码............................................................................21 使用 Prebuilt Action类提升开发效率...................................................................

    外文翻译 stus MVC

    This definition implies that Struts is a framework, rather than a library, but Struts also contains an extensive tag library and utility classes that work independently of the framework. Figure 5 ...

    Spring中文帮助文档

    使用@RequestParam绑定请求参数到方法参数 13.12.5. 使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多...

    spring chm文档

    15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.2. ActionSupport 类 15.5. Tapestry 15.5.1. 注入 Spring 托管的 beans 15.6. WebWork 15.7. 更多资源 16. Portlet MVC框架 16.1. 介绍 16.1.1. 控制器 - ...

    Spring API

    使用@RequestParam绑定请求参数到方法参数 13.12.5. 使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多...

Global site tag (gtag.js) - Google Analytics