温馨提示×

Struts2 国际化文件中 EL 表达式怎么能执行

小云
98
2023-08-18 13:00:26
栏目: 编程语言

在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页面。

0