【问题标题】:Set class attribute for a tag in JSP using session attribute from Servlet使用 Servlet 中的会话属性为 JSP 中的标记设置类属性
【发布时间】:2013-03-26 02:08:42
【问题描述】:

如果JSP中的标签中某些条件为真,如何设置类属性? 在我的 JSP 页面中,我有一些选项卡。在第一个选项卡中,我有一个表单字段,提交后,它将调用 servlet,对其进行处理,然后转发到同一个 JSP 页面并设置会话属性值 (比如下一个选项卡的 id) em> 在我的 JSP 页面中的 LI 标记中,如果从会话属性获得的字符串是某个值,我将类属性设置为活动。 但我无法得到它。

这是部分servlet代码

String dataloadType=request.getParameter("dataloadType");
if(dataloadType.equals("fromDB"))
        {
            request.setAttribute("activeTab", "fromDatabase");
            RequestDispatcher rd=request.getRequestDispatcher("index.jsp");
            rd.forward(request, response);
        }

index.jsp 的一部分是

<div class="navbar btn-navbar">
            <div id="tabs" class="tabbable">
                <ul id="myTab" class="nav nav-tabs">
                    <li><a href="#datacollector" target="main"
                        data-toggle="tab">Data Collector</a></li>
                    <li id="fromDB" class="selectDataloadType <c:if test="${activeTab == 'fromDatabase'}">active</c:if>" style="display: none;"><a
                        href="#fromDatabase" target="main" data-toggle="tab">Data Load
                            Database</a></li>
                    <li id="fromFile" class="selectDataloadType" style="display: none;"><a
                        href="#fromFiles" target="main" data-toggle="tab">Data Load
                            File</a></li>
                    <li id="email" class="selectDataloadType" style="display: none;"><a
                        href="#fromEmail" target="main" data-toggle="tab">Data Load
                            Email</a></li>
                    <li id="webServices" class="selectDataloadType"
                        style="display: none;"><a href="#fromWebServices"
                        target="main" data-toggle="tab">Data Load Web</a></li>
                    <li><a href="#datamap" target="main" data-toggle="tab">Data
                            Map</a></li>
                    <li><a href="#schedule" target="main" data-toggle="tab">Schedule</a></li>
                </ul>

LI id fromDB 如果会话属性为“fromDatabase”,则将类属性设置为活动,但它不起作用,因为它没有将该部分作为代码。 这是 index.jsp

它在页面中显示代码,所以它不接受它。我该如何解决?

【问题讨论】:

    标签: html jsp servlets


    【解决方案1】:

    我认为你没有正确设置类属性... LI 标签的类属性是selectDataloadType [space] active,所以最终它只是selectDataloadType 我认为...

    为什么不这样:

    <li id="fromDB" <c:if test="${activeTab == 'fromDatabase'}">class="active"</c:if>...
    

    如果您在任何情况下都需要类属性,则可以使用choose 而不是if...

    【讨论】:

    猜你喜欢
    • 2014-06-22
    • 2017-04-05
    • 2012-11-18
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2018-03-12
    相关资源
    最近更新 更多