Struts 2“ text ”标签用于从与操作类捆绑在一起的资源捆绑中获取消息。 并遵循以下三个顺序:
- 显示来自资源束的消息,遵循Struts 2资源束搜索顺序 。
- 如果在资源束中找不到该消息,那么将显示标签的正文。
- 如果标记的主体为空,则将显示<s:text>标记中“ name”属性的值。
最好用一个完整的例子来说明:
1.行动
用来转发请求的Action类。
TextTagAction.java
package com.mkyong.common.action;
import com.opensymphony.xwork2.ActionSupport;
public class TextTagAction extends ActionSupport{
public String execute() throws Exception {
return SUCCESS;
}
}
2.属性文件
一个简单的属性文件,带有两个键“ name.msg ”和“ name.msg.param ”。
TextTagAction.properies
name.msg = "This is a message from properties file"
name.msg.param = "This is a message from properties file - param : {0}"
3.文字标签示例
它显示了“文本”标签的使用。
text.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
<body>
<h1>Struts 2 text tag example</h1>
<h2>1.<s:text name="name.msg" /></h2>
Output : <s:text name="name.msg" />
<h2>2. <s:text name="name.msg.unknow">message doesn't exists</s:text></h2>
Output : <s:text name="name.msg.unknow">message doesn't exists</s:text>
<h2>3. <s:text name="name.msg.unknow" /></h2>
Output : <s:text name="name.msg.unknow" />
<h2>4. <s:text name="name.msg.param" ><s:param >mkyong</s:param>
</s:text></h2>
Output :
<s:text name="name.msg.param" >
<s:param >mkyong</s:param>
</s:text>
</body>
</html>
它是如何工作的?
1. <s:text name =“ name.msg” />
从与当前操作类(TextTagAction.action)关联的资源包(TextTagAction.properies)中获取并显示消息。
"This is a message from properties file"
2. <s:text name =“ name.msg.unknow”>消息不存在</ s:text>
在资源包“ TextTagAction.properies”或任何搜索顺序中找不到关键字,因此将显示标签的正文。
message doesn't exists
3. <s:text name =“ name.msg.unknow” />
在资源束和标签正文中找不到消息,因此显示“名称”属性中的值。
name.msg.unknow
4. <s:text name =“ name.msg.param”> <s:param> mkyong </ s:param> </ s:text>
通过<param>标记将参数传递到资源束中。
"This is a message from properties file - param : mkyong"
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>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<action name="textTagAction"
class="com.mkyong.common.action.TextTagAction" >
<result name="success">pages/text.jsp</result>
</action>
</package>
</struts>
5.演示
http:// localhost:8080 / Struts2Example / textTagAction.action
输出量