您的位置:首页 > Web前端 > JavaScript

在JSP页面中访问action类中数据

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

Java代码  



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页面 

Java代码  



<%@ 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文件 

Java代码  



<?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页面 

Java代码  



<%@ 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中的参数。 

特别注意了,这样容易造成死循环,可以新建一个JSP页面,加上  <s:action name="runaction" executeResult="true"></s:action>,然后在struts.xml中跳转到内容页面
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: