1

我正在尝试将会话对象从 sessionConstant.java 传递到我的 COMP.jsp 文件....

sessionConstants.java

public class SessionConstants {


    public static final String COMP_TYPE_GRID_JSON = "companyTypeGridModelObj";



}

在 jsp 文件中我有一个 *.js 脚本.......

<script type="text/javascript" charset="utf-8">
    var aa = "${cons.COMP_TYPE_GRID_JSON}";
    var bb = "${sessionScope.companyTypeGridModelObj}";

    var jsonModal = <myComp:JSON object = "${bb}" />


</script>

Q1。我如何在var aa中传递值, 而不是在var bb中定义的 sessionScope 对象中传递“companyTypeGridModelObj” ...

Q2。我如何在我的jstl中传递var bb

请帮忙

用于传递此属性的 java 中的代码

NgGridModelConvertor ngGridModelConvertor = new NgGridModelConvertor();
NgGridModel ngGridModel = ngGridModelConvertor.getNgModelData1(columnModeList, dataMapList, rtlOrientation);
getSession().put(SessionConstants.COMP_TYPE_GRID_JSON, ngGridModel);
4

1 回答 1

1

你可以参考这个帖子,它可能会回答你的问题。

首先,您需要在会话范围内插入您的值。然后您可以从您的 JSP 文件访问您的数据。当您使用标签时,我想您没有使用单独的 js 文件。如果您确实使用单独的文件,那么您将不得不使用另一种方式来传递您的数据,如 Ajax 调用或隐藏输入。

小服务程序:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    HttpSession session = request.getSession(); 
    session.setAttribute("Questions", getQuestion());
}

JSP:

<c:out value="${sessionScope.Questions.questionPaperID}" />

或具有命名值:

<c:set scope="session" var="varName" value="${expression}" />
<c:out value="${varName}" />

对于您的情况:

<c:set scope="session" var="bb" value="${sessionScope.companyTypeGridModelObj}" />
<p> My value is : ${bb}</p>

编辑:使用 TagLib

这里有关于 TagLib 的官方文档。你应该阅读这个,它可能会给你更多的信息。

对于您的问题:在您的标签文件中,您声明一个带有属性的标签。这样,当您调用此标签时,您可以将 ${bb} 值传递给标签。

我的标签文件中(参考我的个人代码,也许可以改进)

// Import c library
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
// Import fn library
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
// Declare my tag in my own library (give location)
<%@taglib tagdir="/WEB-INF/tags/" prefix="bookmark" %>
// Declare an attribute for this tag
<%@attribute name="directories" required="true" rtexprvalue="true" type="java.util.List"%>
// use the attribute
<c:forEach var="directory" items="${directories}">
</c:forEach>

我的主要 JSP中

// Import my tag lib
<%@ taglib tagdir="/WEB-INF/tags/" prefix="bookmark" %>
// Use my tag and pass ${directories} value to the tag
<bookmark:directories directories="${directories}"></bookmark:directories> 
于 2015-06-16T13:56:24.067 回答