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プライマリコード
 
<%@ 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に含めます.