0

如果 JSP 中的标记中某些条件为真,如何设置类属性?在我的 JSP 页面中,我有一些选项卡。在第一个选项卡中,我有一个表单字段,提交后,它将调用 servlet,对其进行处理,然后转发到同一个 JSP 页面并设置会话属性值(比如下一个选项卡的 id)并在我的 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>

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

在此处输入图像描述

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

4

1 回答 1

1

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

为什么不这样:

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

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

于 2013-04-04T10:53:43.013 回答