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