2014-06-12 6 views
-1

Как включить или отключить ссылку на основе некоторого значения соответствия на странице JSP. Так что я колонна называется person, имеющие значения в качестве A, T, L и т.д., и на основе каждого value ссылку на JSP странице необходимо получить disabled and enabled сказать-Включить и отключить «ссылку» с помощью JQuery

Я хотел отключить ссылку настройки на моем JSP страницу, если значение из ответа сервлета A или включить, если значение из сервлета 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 коде, мне нужно, чтобы включить/отключить ссылку на settings основанную на значение, которое я получаю от сервлета.

Как это сделать using JQuery ?? или есть ли другой способ проверить значение в JSP или JQuery, чтобы отключить или активировать ссылку настроек, как только пользователь войдет в систему?

+0

что еще Servlet код делает здесь? Как этот сервлет вызывается с клиентской стороны? Что такое поток? – Braj

+0

Этот вопрос отвечает, я думаю. Просто добавьте в свои ссылки класс, например class = "disabled", а затем сделайте селектор типа $ (".disabled") и следуйте примеру ссылки. http://stackoverflow.com/questions/3788946/how-do-i-dynamically-enable-disable-links-with-jquery – Gyhth

+0

является сервлетом контроллера JSP или чего-то, называемого Ajax? – developerwjk

ответ

0

Изменение 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> 
0

Это можно сделать лучше со стороны сервера на вашей странице JSP, используя java-скрипты.

Так как вы можете получить доступ к HttpServletRequest отправляются на JSP-страницу «myPage.jsp» от RequestDispatcher, вы можете получить доступ к параметру "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);", поэтому ничего не происходит, когда пользователь нажимает на ссылку.

Смежные вопросы