1.s:action标签概述
s:action标签功能为:在JSP页面中访问action类中的数据,执行某些操作,并返回相应数据;其属性及意义如下:
2.新建Acton实例类
3.新建JSP页面
4.修改struts.xml文件
5.创建使用Action标签的JSP页面
s:action标签功能为:在JSP页面中访问action类中的数据,执行某些操作,并返回相应数据;其属性及意义如下:
属性名 | 是否必需 | 默认值 | 类型 | 说明 |
executeResult | False | False | Boolean | 是否将action返回的结果视图显示在当前页面中 |
flush | False | True | Boolean | 是否进行刷新 |
ignoreContextParams | False | False | Boolean | 是否忽略URL参数 |
name | True | — | String | 指定调用哪个action |
namespace | False | — | String | 指定调用哪个action的命名空间 |
var | False | — | String | 将调用的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中的参数。
特别注意了,这样容易造成死循环,可以新建一个JSP页面,加上 <s:action name="runaction" executeResult="true"></s:action>,然后在struts.xml中跳转到内容页面