2012-02-20 37 views
0

我想將Constants.java類中聲明的常量變量的值設置爲jsp的隱藏字段。我不想將值1硬編碼爲隱藏字段的值,因爲將來可以更改值。我怎樣才能實現它?將java常量值設置爲jsp的隱藏字段

在Constants.java

public static final int MY_VAR = 1; 
在JSP

<s:hidden name="myvar" value=""/> 
+0

[如何在EL中引用常量?]可能的重複(http://stackoverflow.com/questions/3732608/how-to-reference-constants-in-el) – BalusC 2012-02-21 05:44:41

回答

1

你不可以在這裏使用EL,可以使用小腳本作爲

<s:hidden name="myvar" value="<%= Constants.MY_VAR %>"/>

在這種情況下, s標籤應該允許表達式(rtexprvalue在它的tld中應該爲true配置)。因此,我們應該使rtexprvalue爲true,否則我們可以用簡單的HTML去,因爲這樣

<input type="hidden" value="<%= Constants.MY_VAR %>"/>

+0

我打了。 org.apache.jasper.JasperException:根據標記文件中的TLD或屬性指令,屬性值不接受任何表達式。我已經在JSP中導入了我的包。<%@ page import =「pty.com.Constants」%> – kitokid 2012-02-20 09:16:24

+1

我相信這個標記不支持JSP表達式。你可以通過查看tld來驗證這個標記是否具有'rtexprvalue'。你可以啓用'rtexprvalue'爲true來接受表達式。否則使用簡單的HTML,就像這個'」/>'而不是's'標籤。 – 2012-02-20 11:45:31

+0

是的。當我使用簡單的HTML隱藏字段時,也不例外。謝謝。 – kitokid 2012-02-21 01:48:18

0

試試這個

<s:hidden name="myvar" value="<%=Constants.MY_VAR%>"/> 
0

您可以使用腳本讓了點。試試這個 -

<s:hidden name="myvar"><%=Constants.MY_VAR%></s> 

希望有幫助!

相關問題