如何在同一页面上的java代码中获得jsp变量的含义?

时间:2017-08-24 13:54:24

标签: java jsp

如果我将String传递给包含的jsp文件:

        <jsp:include page="groop_checkbox_with_header.jspf">
            <jsp:param name="mapName" value="investQuestionsExperience"/>
        </jsp:include>

我可以在html和jsp代码中将其用作${param.mapName}。但是如何在<%..%>括号中包含的文件中的java代码中使用该param.mapName?因为我不能简单地写:

<% String mapName = param.mapName; %>

变量“param”被标记为未知。

有许多看似相似的问题,但所有这些问题都是通过创建新请求进行调用。在这里,我们在同一页面上有jsp变量和等待它的java代码。我可以通过${}查看jsp代码中的java表达式值。但是我怎样才能进行后退操作?

2 个答案:

答案 0 :(得分:1)

  

新参数的范围是jsp:include或jsp:forward   呼叫;也就是说,在jsp的情况下:包括新参数(和   值)在包含结束后不适用。   https://docs.oracle.com/cd/E19575-01/819-3669/bnajd/index.html

答案 1 :(得分:0)

实际上你需要做的是使用请求来获取属性,而不是参数,所以你的scriptlet看起来像这样:

 <% Object mapNameObj = request.getAttribute("mapName");
    String mapName = mapNameObj != null ? (String) mapNameObj : null;
 %>

希望这有帮助