Struts2 國際化文件中 EL 表達(dá)式怎么能執(zhí)行

小云
98
2023-08-18 13:00:26
欄目: 編程語言

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

0