使用action标签,可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有:
id: 可选属性,作为该Action的引用ID
name:必选属性,指定调用Action
namespace:可选属性,指定该标签调用Action所属namespace
executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.
ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数.
<s:action name="login" executeResult="true" namespace="/"></s:action>
传递参数
<s:action name="actinName" executeResult="true" namespace="/">
<s:param name="currentPage" value="传递的值"></s:param>
</s:action>
<s:param ></s:param>是以request方式的值的,而不是以参数传值
所以request.getParameter("")会获取不到值
通过request.getAttribute("")方式可以获取
另外:使用<s:param ></s:param> value指代的是action定义的对象的名称,而不是一个值
和 <s:textfield>中的name是一个意思,所以要要传递字符串的不能把值写value中而应该写到
<s:param >写到这里</s:param>
Action标签,顾名思义,是用来调用Action的标签,在JSP中页面中,可以指向具体指定某一命名空间中的某一Action。而标签的主体用于显示及渲染Actionr的处理结果。
1.WebRoot\pages\dataTagssuccess.jsp处理页面
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Action Tag 示例</title>
</head>
<body>
<h2>Action Tag 示例</h2>
<s:action name="success">
<b><i>s:action标签用于在页面显示结果.</i></b></div>
</s:action>
</body>
</html>
这里使用<s:action>标签进行页面跳转,并用于显示处理的结果。
2.先来看struts.xml中的配置:
<action name="actionTag" class="com.sterning.actionTag">
<result name="success">/pages/dataTags/success.jsp</result>
</action>
3.接着创建actionTag类:代码如下:
package com.sterning;
import com.opensymphony.xwork2.ActionSupport;
publicclass actionTag extends ActionSupport {
public String execute() throws Exception{
returnSUCCESS;
}
id: 可选属性,作为该Action的引用ID
name:必选属性,指定调用Action
namespace:可选属性,指定该标签调用Action所属namespace
executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.
ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数.
<s:action name="login" executeResult="true" namespace="/"></s:action>
传递参数
<s:action name="actinName" executeResult="true" namespace="/">
<s:param name="currentPage" value="传递的值"></s:param>
</s:action>
<s:param ></s:param>是以request方式的值的,而不是以参数传值
所以request.getParameter("")会获取不到值
通过request.getAttribute("")方式可以获取
另外:使用<s:param ></s:param> value指代的是action定义的对象的名称,而不是一个值
和 <s:textfield>中的name是一个意思,所以要要传递字符串的不能把值写value中而应该写到
<s:param >写到这里</s:param>
Action标签,顾名思义,是用来调用Action的标签,在JSP中页面中,可以指向具体指定某一命名空间中的某一Action。而标签的主体用于显示及渲染Actionr的处理结果。
1.WebRoot\pages\dataTagssuccess.jsp处理页面
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Action Tag 示例</title>
</head>
<body>
<h2>Action Tag 示例</h2>
<s:action name="success">
<b><i>s:action标签用于在页面显示结果.</i></b></div>
</s:action>
</body>
</html>
这里使用<s:action>标签进行页面跳转,并用于显示处理的结果。
2.先来看struts.xml中的配置:
<action name="actionTag" class="com.sterning.actionTag">
<result name="success">/pages/dataTags/success.jsp</result>
</action>
3.接着创建actionTag类:代码如下:
package com.sterning;
import com.opensymphony.xwork2.ActionSupport;
publicclass actionTag extends ActionSupport {
public String execute() throws Exception{
returnSUCCESS;
}