当前位置: 首页 > 教程 > Struts2 >

Struts2 <s:texttag>标签示例

精华
小牛编辑
173浏览
2023-03-14
Struts2 <s:text>标签是用来从资源包获取捆绑动作类的消息。并按照三个序列:


  1. 显示来自资源包的消息,按照Struts2的资源包搜索顺序。
  2. 如果未在资源包中找到消息,则标签的本身会被显示。
  3. 如果标记的主体是空的,在<s:text>标签“name”属性的值将被显示。
一个完整的例子:

1. 动作

Action类转发请求。

TextTagAction.java

package com.yiibai.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. <s:text>标签示例

它显示了<s:text>标签的使用。

text.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head><title>www.yiibai.com</title>
</head>
 
<body>
<h1>Struts2 text标签示例</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 >yiibai</s:param>
</s:text></h2> 
Output :
<s:text name="name.msg.param" >
	<s:param >yiibai</s:param>
</s:text>

</body>
</html>

它是如何工作的?
1. <s:text name=”name.msg” />

从资源包获取并显示消息(TextTagAction.properies)关联当前动作类 (TextTagAction.action).

"This is a message from properties file"

2. <s:text name=”name.msg.unknow”>message doesn’t exists</s:text>

键不在资源包“TextTagAction.properies”或搜索顺序中,所以显示标记的主体。
message doesn't exists

3. <s:text name=”name.msg.unknow” />

标签的资源包和主体的消息未找到,所以显示在“name”属性的值。
name.msg.unknow

4. <s:text name=”name.msg.param” ><s:param >yiibai</s:param></s:text>

通过<s:param>标记传递参数到资源包。
"This is a message from properties file - param : yiibai"

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.yiibai.common.action.TextTagAction" >
			<result name="success">/pages/text.jsp</result>
		</action>
		
	</package>
</struts>

5. 执行结果

http://localhost:8080/struts2texttag/textTagAction.action

在浏览器中打开上面的网址,显示结果如下所示:

参考

  1. Struts2 <s:text>标签文档


下载代码 -