在Struts2的国际化文件中,EL表达式是不会被执行的。国际化文件中的值只是用于存储文本消息,并且会根据当前的Locale进行匹配和获取对应的消息。
如果想要执行EL表达式,你可以在Struts2的Action类中使用EL表达式来获取国际化文件中的值。例如,在Action类中使用getText()
方法来获取国际化文件中的值,并在JSP页面中使用EL表达式来执行该方法。
在国际化文件中定义的消息的格式如下:
welcome.message=Welcome to our website!
在Action类中,你可以使用getText()
方法来获取国际化文件中的消息:
public class MyAction extends ActionSupport {
public String execute() {
String message = getText("welcome.message");
// ...
return SUCCESS;
}
}
然后,在JSP页面中使用EL表达式来执行getText()
方法,并获取国际化文件中的值:
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="%{getText('welcome.message')}" />
以上代码将会执行getText()
方法,并获取国际化文件中的值,然后在页面上显示出来。
需要注意的是,国际化文件中的值不会被直接执行,而是作为文本消息被获取和显示。如果需要执行EL表达式,应该在Action类中执行EL表达式并将结果传递给JSP页面。