UI表单标签

作者在 2010-05-09 10:23:32 发布以下内容

数据标签

action标签

action标签可以允许在JSP页面中直接调用Action,因为需要调用Action,故可以指定需要被调用Actionnamenamespace,如果指定了executeResult参数的属性值为true,该标签还会把Action的处理结果(视图资源)包含在本页面中来

属性:

id:这是一个可选属性,该属性将作为该Action的引用ID

name:这是一个必填属性,通过该属性指定该标签调用那个Action

namespace:这是一个可选属性,该属性指定该标签调用的Action所在的namespace

executeResult:这是一个可选属性,该属性指定是否要将Action的处理结果页面包含到本页面,该属性默认值是false,即不包含

ignoreContextParams:这是一个可选参数,它指定该页面中的请求参数是否需要传入调用的Action,该参数的默认值是false,即将本页面的请求参数传入被调用的Action

 

package test;

 

import org.apache.struts2.ServletActionContext;

 

import com.opensymphony.xwork2.ActionSupport;

 

public class TagAction extends ActionSupport{

   private String author;

 

   public String getAuthor() {

      return author;

   }

 

   public void setAuthor(String author) {

      this.author = author;

   }

  

   //定义第一个处理逻辑

   public String execute() throws Exception{

      return "done";

   }

  

   //定义第二个处理逻辑

   public String login() throws Exception{

      ServletActionContext.getRequest().setAttribute("author",getAuthor());

      return "done";

   }

}

 

Action类包含了两个处理逻辑,可以在struts.xml文件中通过指定method属性来将该Action类映射成两个逻辑Action

<package name="test" extends="struts-default">

      <!-- 定义第一个Action,使用test.TagActionexecute方法作为处理逻辑 -->

      <action name="tag1" class="test.TagAction">

         <result name="done">succ.jsp</result>

      </action>

     

      <!-- 定义第二个Action,使用test.TagActionlogin方法作为处理逻辑 -->

      <action name="tag2" class="test.TagAction" method="login">

         <result name="done">loginSucc.jsp</result>

      </action>

   </package>

JSP页面中使用<s:action>标签来调用这两个逻辑Action

下面调用第一个Action,并将结果包含到本页面中<br>

      <s:action name="tag1" executeResult="true"></s:action><hr/>

      下面调用第二个Action,并将结果包含到本页面中<br>

      阻止本页面请求参数传入Action<br>

      <s:action name="tag2" executeResult="true" ignoreContextParams="true"></s:action><hr/>

      下面调用第二个Action,且不将结果包含到本页面中<br>

      <s:action name="tag2" executeResult="false"></s:action>

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

 

 

bean标签

bean标签用于创建一个JavaBean实例,可以在该标签体内受用<param…/>标签为该JavaBean实例传入属性,当需要传入属性值,则应该为JavaBean类提供对应的setter方法;需要访问属性值,则应该提供getter方法

属性:

name:该属性是一个必填属性,指定要实例化的JavaBean的实现类

id:该属性是一个可选属性,如果指定,则该JavaBean实例会被放入StackContext中,从而允许直接通过id属性来访问该实例

 

package test;

 

public class Person {

   private String name;

   private int age;

   public Person() {

      super();

      // TODO Auto-generated constructor stub

   }

   public Person(String name, int age) {

      super();

      this.name = name;

      this.age

默认分类 | 阅读 873 次
文章评论,共0条
游客请输入验证码