JSP 中 如何使用 spring:message 标签

可以使用<spring:message>标签结合 ResourceBundleMessageSource 的功能,在网页上显示 messages.properties 中的文字讯息。

记得 messages.properties 档案必须在 classpath 可以存取到的路径下,例如放在 
/WEB-INF/classes/下,您的 Bean 定义档中要加入 ResourceBundleMessageSource 的定义,例如


spring-mvc.xml

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
		<property name="basenames">
			<list>
				<value>classpath:/messages</value>
			</list>
		</property>
		<property name="useCodeAsDefaultMessage" value="false" />
		<property name="defaultEncoding" value="UTF-8" />
		<property name="cacheSeconds" value="30" />
</bean>

index.jsp内容片段如下:

 <td>
                        <spring:message code="inventory.management.productId"></spring:message>:
</td>


messages_en_US.properties文件内容部分如下

inventory.management.productId=Product ID



JSP (JavaServer Pages) 中,你可以将 `Message` 类型的 Bean 存储在一个变量中,然后在页面上使用。首先,你需要在 Java Servlet 或后端控制器中创建并管理这个 Bean。以下是一个简单的步骤: 1. **创建 Message Bean**: 在你的业务层或者服务类中,定义一个名为 `Message` 的 Java 对象,比如: ```java public class Message { private String text; // 构造函数、getter 和 setter... public Message(String text) { this.text = text; } // getters and setters... } ``` 2. **设置 Bean 到 request scope**: 如果你想在整个 JSP 请求周期内共享这个 Bean,可以将其放入 `HttpSession` 或者 `Request` 对象,如使用 `HttpServletRequest`: ```java // 在Servlet或者Controller中 Message message = new Message("Hello from the backend"); request.setAttribute("message", message); ``` 3. **在 JSP 页面中引用**:JSP 文件中,你可以通过 `<jsp:getProperty>` 标签获取 Bean 的属性值,或者直接使用 `${}` 表达式: ```jsp <%@ page contentType="text/html;charset=UTF-8" %> <html> <body> <p>${requestScope.message.text}</p> <!-- 直接获取文本 --> </body> </html> ``` 或者使用 EL (Expression Language) 表达式: ```jsp <jsp:useBean id="messageBean" class="com.example.Message" scope="request"/> <p>消息内容: ${messageBean.text}</p> ``` 注意,这种方式只适用于单个请求内的数据传递。如果你需要更长生命周期的数据管理,可以考虑使用 `ModelAndView` 或者第三方框架如 Spring MVC。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值