在Struts2的國際化文件中,EL表達(dá)式是不會(huì)被執(zhí)行的。國際化文件中的值只是用于存儲(chǔ)文本消息,并且會(huì)根據(jù)當(dāng)前的Locale進(jìn)行匹配和獲取對(duì)應(yīng)的消息。
如果想要執(zhí)行EL表達(dá)式,你可以在Struts2的Action類中使用EL表達(dá)式來獲取國際化文件中的值。例如,在Action類中使用getText()
方法來獲取國際化文件中的值,并在JSP頁面中使用EL表達(dá)式來執(zhí)行該方法。
在國際化文件中定義的消息的格式如下:
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表達(dá)式來執(zhí)行getText()
方法,并獲取國際化文件中的值:
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="%{getText('welcome.message')}" />
以上代碼將會(huì)執(zhí)行getText()
方法,并獲取國際化文件中的值,然后在頁面上顯示出來。
需要注意的是,國際化文件中的值不會(huì)被直接執(zhí)行,而是作為文本消息被獲取和顯示。如果需要執(zhí)行EL表達(dá)式,應(yīng)該在Action類中執(zhí)行EL表達(dá)式并將結(jié)果傳遞給JSP頁面。