日期:2014-05-16  浏览次数:20436 次

Struts2 数据标签(一)在JSP页面中访问action类中数据
1.s:action标签概述
  s:action标签功能为:在JSP页面中访问action类中的数据,执行某些操作,并返回相应数据;其属性及意义如下:
属性名是否必需默认值类型说明
executeResultFalseFalseBoolean是否将action返回的结果视图显示在当前页面中
flushFalseTrueBoolean是否进行刷新
ignoreContextParamsFalseFalseBoolean是否忽略URL参数
nameTrueString指定调用哪个action
namespaceFalseString指定调用哪个action的命名空间
varFalseString将调用的action的名称放到值栈中

2.新建Acton实例类
package com.wl.control.tagsAction;

import com.opensymphony.xwork2.ActionSupport;

public class RunAction extends ActionSupport {

    private String name;
    
    public String getName() {
        return name;
    }

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

    @Override
    public String execute() throws Exception {

        return "runaction";
    }

}

3.新建JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
  <body>
     name的值是:
     <s:property value="#parameters.name"/>
  </body>
</html>

4.修改struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
   <package name="Struts2.1" extends="struts-default">
       <action name="runaction" class="com.wl.control.tagsAction.RunAction">
           <result name="runaction">/controlTags/runaction.jsp</result>
       </action>
   </package>
</struts>

5.创建使用Action标签的JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
  <body>
     显示runaction.jsp中的内容并且输出name参数的值:
     <br/>
     <s:action name="runaction" executeResult="true"></s:action>
     <br/>
     显示runaction.jsp中的内容并且不输出name参数的值:
     <br/>
     <s:action name="runaction" executeResult="true" ignoreContextParams="true"></s:action>
     <br/>
     仅仅调用runaction,不显示结果:
     <br/>
     <s:action name="runaction"></s:action>
     <br/>
     
  </body>
</html>

注释:s:action标签的属性executeResult值为True时,代表返回一个结果页面在JSP页面中显示;s:action标签属性ignoreContextParams值为True时,代表忽略URL中的参数。
6.运行结果