2012-07-23 77 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

相关问题