【问题标题】:Enable and disable a "link" using JQuery使用 JQuery 启用和禁用“链接”
【发布时间】:2014-06-12 20:48:18
【问题描述】:

如何根据 JSP 页面中的某些值匹配启用和禁用链接。所以我有一个名为person 的列,其值为ATL 等,并且基于每个valueJSP 页面中的链接需要获取disabled and enabled 说-

如果值来自 Servlet 响应为 A 或如果来自 servlet 的值为 T 则启用

Servlet 代码-

public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
HttpSession session = req.getSession(true);
String person= profile.getPerson(); // person = 'A' (assume)
req.setAttribute("pers", person); // 'A' is sent to JSP
this.getServletContext().getRequestDispatcher( "/myPage.jsp" ).forward( req, response );
}

ProfileVO.java--

@Entity
@Table(name = "profile")

public class ProfileVO implements Serializable {
 private static final long serialVersionUID = 1L;
   @NotNull
   private String person;
   private String email;

   public String getPerson() {
        return person;
    }

    public void setPerson(String person) {
        this.person = person;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("Profile")
                .append(", email='").append(email).append('\'')
                .append(", person='").append(person).append('\'')
                .append('}');
        return sb.toString();
    }

HTML 代码--

<div id="header">
    <p><a href="/test.jsp">Settings</a> | Terms & Conditions </p>
</div>

在 HTML 代码中,我需要根据从 servlet 获得的值启用/禁用 settings 上的链接。

我应该怎么做using JQuery??或者有没有其他方法可以检查 JSP 或 Jquery 中的值以在用户登录后立即禁用或启用设置链接?

【问题讨论】:

  • Servlet 代码还在这里做什么?如何从客户端调用这个 servlet?什么是流量?
  • 这个问题回答了我想。只需在您的链接中添加一个类,如 class="disabled",然后制作一个选择器,如 $("a .disabled") 并按照链接上的示例进行操作。 stackoverflow.com/questions/3788946/…
  • servlet 是 JSP 的控制器还是 Ajax 调用的东西?
  • @developerwjk,是的!你想让我把整个方法写在一个servlet中吗?甚至转发到我的 testAB.jsp?
  • @akiiddweeber,这并不是一个是或否的问题。

标签: java javascript jquery jsp servlets


【解决方案1】:

像这样更改 HTML(我希望它是一个 JSP 文件)

<p><a href=<%=((String)req.getAttribute("pers")).equals("A")?"'/test.jsp'":"'javascript:;'"%>>Settings</a> | Terms & Conditions </p>

或者

<%  String pers = (String)req.getAttribute("pers"); %>
<a href=<%=pers.equals("A")?"'/test.jsp'":"'javascript:;'"%>>Settings</a> | Terms & Conditions </p>

【讨论】:

    【解决方案2】:

    这可以在您的 JSP 页面的服务器端使用 java scriplets 更好地完成。

    由于您可以访问从RequestDispatcher 发送到“myPage.jsp”JSP 页面的HttpServletRequest,因此您可以访问"pers" 参数并在脚本中使用它:

    <div id="header">
        <p><a href="<%= request.getParameter("pers").equals("A")? "/test.jsp": "javascript:void(0);" ">Settings</a> | Terms & Conditions </p>
    </div>
    

    在这个脚本中,您可以看到它检查pers 参数,如果它等于“A”,它会将正确的"/test.jsp" 值添加到href 属性。否则,它会添加一个"javascript:void(0);" 占位符,因此当用户单击链接时不会发生任何事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2012-02-01
      • 2011-04-16
      • 2010-10-09
      • 2011-07-02
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多