Java 从另一个JSP文件读取变量

Java 从另一个JSP文件读取变量,java,jsp,servlets,scope,Java,Jsp,Servlets,Scope,在one.jsp中,我有 <% int testVar1 = 1; %> <%@ include file="one.jsp" %> <% if(testVar1 == 1) { %> <!-- Should equal 1 --> <% } else { %> <!-- Does not equal 1 --> <% } %> 在two.jsp中,我有 <% int testVar1 = 1; %

one.jsp中,我有

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

two.jsp中,我有

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

但是,并非总是采用正确的条件路径。如果在执行条件测试之前我没有读取testVar1,那么即使testVar1在one.jsp中被设置为0,它也总是计算为true


这是从第二个JSP文件中读取变量的正确方法吗?

我看不出代码中有任何错误,它应该可以正常工作

至于在执行条件测试之前或之后读取
testVar1
,则不应产生任何差异

我认为可能的问题是您的jsp可能没有正确更新,即,如果您更新
one.jsp
使
testVar1=0
,它可能不一定反映,因为它是
two.jsp
中包含的jsp,因此,您还需要更新
two.jsp
,以便在编译
two.jsp
时,在编译过程中采用更新的
one.jsp
。因此,简而言之,如果您做了任何更改,请更新这两个JSP

请注意Lion在他身上所说的话。这将有助于未来的发展


希望这能有所帮助。

我看不出代码中有任何错误,它应该可以正常工作

至于在执行条件测试之前或之后读取
testVar1
,则不应产生任何差异

我认为可能的问题是您的jsp可能没有正确更新,即,如果您更新
one.jsp
使
testVar1=0
,它可能不一定反映,因为它是
two.jsp
中包含的jsp,因此,您还需要更新
two.jsp
,以便在编译
two.jsp
时,在编译过程中采用更新的
one.jsp
。因此,简而言之,如果您做了任何更改,请更新这两个JSP

请注意Lion在他身上所说的话。这将有助于未来的发展


希望这有帮助。

我不明白你的意思。“即使testVar1在one.jsp中被设置为0”:它被设置为1,而不是0。你说的“如果我不读testVar1”是什么意思?如果你想降低JSP的复杂性,遵循最佳实践,将Java从JSP转移到Java类中(使用bean、自定义标记等)。我不明白你的意思。“即使testVar1在one.jsp中被设置为0”:它被设置为1,而不是0。你说的“如果我不读testVar1”是什么意思?如果你想降低JSP的复杂性,遵循最佳实践,将Java从JSP移到Java类中(使用bean、自定义标记等)。你认为这是一个更新问题是正确的。谢谢你的帮助,我以后一定会采纳@Lion的建议。你认为这是一个更新问题是正确的。谢谢你的帮助,我以后一定会接受@Lion的建议。