2012-07-23 78 views
0

one.jsp,我有從另一個JSP文件中讀取一個變量

<% int testVar1 = 1; %> 

two.jsp,我有

<%@ include file="one.jsp" %> 
<% if(testVar1 == 1) { %> 
<!-- Should equal 1 --> 
<% } else { %> 
<!-- Does not equal 1 --> 
<% } %> 

但是,正確的條件路徑不總是採取。如果在條件測試執行前我沒有讀取testVar1,即使testDar1在one.jsp中設置爲0,它也總是評估爲真。

這是從第二個JSP文件中讀取變量的正確方法嗎?

+1

我不明白你的意思。 「即使testVar1在one.jsp中設置爲0」:它被設置爲1,而不是0.你是什麼意思「如果我不讀取testVar1」? – 2012-07-23 20:51:45

+7

如果您想降低JSP的複雜性,請遵循最佳實踐並將Java從JSP中移出並移入Java類(使用bean,自定義標籤等)。 – Lion 2012-07-23 20:51:52

回答

3

我沒有看到代碼中的任何錯誤,它應該按預期工作。

至於在執行條件測試之前或之後閱讀testVar1,應該沒有任何區別。

我覺得可能是問題是你的JSP可能無法正常更新,也就是說,如果你更新one.jsp使testVar1 = 0也未必反映,因爲它是在two.jsp包含的JSP,所以你還需要更新two.jsp以便在編譯two.jsp時編譯期間需要更新的one.jsp。因此,如果您進行任何更改,簡而言之就是更新這兩個JSP。

注意:請考慮@Lion在他的comment中所說的。這將有助於未來的發展。

希望這會有所幫助。

+0

假設這是一個更新問題,你是正確的。感謝您的幫助,我將來一定會接受@ Lion的建議。 – wbcrimson 2012-07-24 13:36:49

相關問題