s:actionラベルの使い方
struts 2のactionラベルを使用する場合、jspページで直接Actionを呼び出すことができ、Actionを呼び出す場合、Actionのnameとnamespaceを指定することができ、executeResultパラメータを指定した属性値がtrueであれば、そのラベルはActionの処理結果(すなわちビューソース)を本ページに含めます.s:actionラベル指定属性は次のとおりです.
id:アクションのアプリケーションIDとしてオプション属性
name:必須属性、呼び出すアクション名を指定
namespace:オプションのプロパティで、アクションが属するnamespaceを呼び出すラベルを指定します.
ExcuteResult:オプション属性で、Actionの処理結果をこのページに含めるかどうかを指定します.デフォルト値はfalse(含まない)です.
ignoreContextParam:ページの要求パラメータが呼び出しのActionに入力される必要があるかどうかを指定するオプションパラメータ.デフォルト値はfalse、すなわち、入力パラメータ
例:index.jspプライマリコード
struts.xmlのactionコード:
これによりindex.jspにアクセスすると、ページ上でmodle_が実行されます.showというacitonは、最終的な結果ページ(つまりtest.jsp上のすべての結果ページ)をindex.jspに含めます.
id:アクションのアプリケーションIDとしてオプション属性
name:必須属性、呼び出すアクション名を指定
namespace:オプションのプロパティで、アクションが属するnamespaceを呼び出すラベルを指定します.
ExcuteResult:オプション属性で、Actionの処理結果をこのページに含めるかどうかを指定します.デフォルト値はfalse(含まない)です.
ignoreContextParam:ページの要求パラメータが呼び出しのActionに入力される必要があるかどうかを指定するオプションパラメータ.デフォルト値はfalse、すなわち、入力パラメータ
例:index.jspプライマリコード
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Struts2 a:action</title>
</head>
<body>
<div>
<s:action name="modle_show" namespace="/webs" executeResult="true">
<s:param name="name" value='1'>
</s:param>
</s:action>
</div>
</body>
</html>
test.jspプライマリコード<%@ page contentType="text/html; charset=UTF-8" language="java"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<s:property value="content" escape="false" />
struts.xmlのactionコード:
<action name="modle_*" class="modleAction" method="{1}" >
<result name="test">/webs/content.jsp</result>
</action>
これによりindex.jspにアクセスすると、ページ上でmodle_が実行されます.showというacitonは、最終的な結果ページ(つまりtest.jsp上のすべての結果ページ)をindex.jspに含めます.