我需要在当前year
内打印出一段文字,我的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<jsp:useBean id="now" class="java.util.Date" />
<fmt:formatDate var="year" value="${now}" pattern="y" />
<p>
<s:text name="%{getText('app.footer', {${year}})}" />
</p>
错误是
“name”不支持运行时表达式。
如果不在操作中创建其他类或变量,我如何安排呢?
答案 0 :(得分:3)
您只能使用Struts2代码执行此操作,无需使用fmt
代码。
<s:bean var="date" name="java.util.Date" />
<s:date var="year" name="#date" format="y" />
<p>
<s:text name="app.footer">
<s:param value="#year" />
</s:text>
</p>
您无法在S2标记内使用${}
。
<s:text>
标记会呈现I18n短信,无需在其中使用getText
方法。