【问题标题】:Modify href between jsp修改jsp之间的href
【发布时间】:2016-05-27 11:54:39
【问题描述】:

我需要一些帮助

我有 header.jsp、login.jps 和 register.jsp。

我使用 Header.jsp 和另一个 JPS 构建我的 Body。 我想根据我构建的 Jsp 更改 Header.jsp 的“帮助”链接。我该怎么做?

我寻找 javascript 解决方案,但它是一个“肮脏”的解决方案,Sonar 说“上帝不要那样做”。

更多细节解释mysefl,我的Header.jsp有那个代码:

<ul class="pull-right">
            <c:if test="${empty sessionScope.USER}">
                <li><a href="#" class="help"><spring:message code="header.manual"/><span><spring:message code="header.help"/></span></a></li>
            </c:if>

如果我使用 Login.jsp 构建,我希望该 href 链接到“url.com/home.public?help_login”,如果是 Register.jsp,我希望 href 喜欢“url.com/home.public?help_register”。

信息:当我使用 register.jsp 时,我的 url 是“url.com/register.public”,否则我使用 login.jsp 我的 url 是“url.com/login.public”。

对不起,如果我的英语不好,但我想你会明白的。

编辑:Layout.jsp

<body class="home" onload="nobackbutton();">  
    <c:choose>     
        <c:when  test="${not empty sessionScope.ADMIN}">
            <tiles:insertAttribute name="headerAdmin" />
            <tiles:insertAttribute name="menuAdmin" />
        </c:when >
        <c:otherwise>
            <tiles:insertAttribute name="header" />
            <tiles:insertAttribute name="menu" />   
        </c:otherwise>
    </c:choose>        
    <div class="container-fluid">
          <tiles:insertAttribute name="miga" />
          <tiles:insertAttribute name="body" />
    </div>
</body> 

【问题讨论】:

标签: java spring jsp servlets


【解决方案1】:

最后,我使用了一个 document.ready (javascript) 来识别 de href 并修改它并使声纳忽略它,因为我发现没有比这些更好的了。我不想浪费更多的时间......

向霍奇寻求帮助

【讨论】:

    【解决方案2】:

    您不能简单地执行以下操作吗?

        <%
            if (${sessionScope.USER} != null) {
        %>
                <li><a href="#" class="help"><spring:message code="header.manual"/><span><spring:message code="header.help"/></span></a></li>
        <%
            }else{
        %>
                <li><a href="#" class="help"><spring:message code="header.manual"/><span><spring:message code="header.help"/></span></a></li>
        <%
            }
        %>
    

    编辑:因为你需要知道当前页面你可以检查

    <%= request.getServletPath() %>
    

    在 header.jsp 中

    【讨论】:

    • 当然你需要更改 if else 分支中的 href。
    • 我有类似的东西,但我使用 else 子句来测试用户是否有会话,如果他有会话意味着他已经登录并且 Home 帮助不再有用。我的问题是确定他是在登录还是在注册表单上。我想使用'modelAndView.addObject()'然后测试他是否在注册或登录操作,但我需要多考虑一下
    • "" 我已经尝试过了,但它不起作用,因为它返回了 layout.jsp(我用来构建页面的“主”jsp 女巫)
    • 你能分享一下你的 layout.jsp 框架吗?
    • 我编辑了这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多