<%
    if (group.isControlPanel()) {
        String cssClassContainer = "container";
    } else {
        String cssClassContainer = "container-fluid";
    }
%>


在If语句中定义变量时,出现编译错误:An error occurred at line: 40 in the jsp file: /page.jsp__cssClassContainer cannot be resolved to a variable.

当我删除I​​f语句时,我没有任何错误:

<%
        String cssClassContainer = "container";
%>


为什么?

任何帮助表示赞赏!非常感谢!

最佳答案

您限制了变量cssClassContainer的范围

你可能想要

<%
    String cssClassContainer=""; // or null
    if (group.isControlPanel()) {
         cssClassContainer = "container";
    } else {
         cssClassContainer = "container-fluid";
    }
%>


您的代码现在发生的情况是变量cssClassContainer的范围限制为{}

除此之外,您无法访问。

以上条件可以用(飞碟魔术:))代替,

 String cssClassContainer = group.isControlPanel()? "container" : "container-fluid";

关于java - 为什么Java变量不能在IF语句中解析?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21831245/

10-12 02:20