2014-11-16 2 views
0

Я использую тег отображения библиотеки в моем JSP-веб-приложение для отображения пользователей приложений, как следующее:Displaytag вызова сервлета со значением параметра

 <display:table name="requestScope.users" pagesize="5" requestURI="" 
         export="true" sort="list" uid="one" keepStatus = "true"> 
      <display:column property="lastName" title="Last Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="firstName" title="First Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="userName" title="Username" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="emailAddress" title="Last Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="userType" title="Last Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="userID" title="ID" autolink="true" href="${pageContext.request.contextPath}/deleteUser?userID=${user.userID}" 
          sortable="true" headerClass="sortable" /> 
     </display:table> 

Я использую последний дисплей: элемент колонки в качестве ссылки на мой сервлет и пытается передать ему идентификатор пользователя в качестве параметра. Несмотря на доступ к сервлету, параметр не передается при попытке использовать язык выражений! Любая идея, как я могу заставить эту работу работать?

Использование: JDK-7u51 Windows7 Tomcat 7.0.52 Netbeans 7,4 Oracle XE11g2

ответ

0

После diddling вокруг и заметил, что много людей, имеющих один и тот же вопрос. Obviusly таблица, сгенерированная выше, всегда будет передаваться как параметр, первый userId внутри списка пользователей.

Есть два предлагаемых решений генерации динамических связей с displaytag как предложено здесь:

http://demo.displaytag.org/displaytag-examples-1.1/example-decorator-link.jsp

Использование распорок-подобный подход я добавил «paramId» и «paramProperty» следующим

  <display:table name="${users}" pagesize="5" requestURI="" 
         export="true" sort="list" uid="one" keepStatus = "true"> 
      <display:column property="lastName" title="Last Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="firstName" title="First Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="userName" title="Username" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="emailAddress" title="Last Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="userType" title="Last Name" 
          sortable="true" headerClass="sortable" /> 
      <display:column property="userID" title="ID" autolink="true" paramId="userID" paramProperty="userID" href="${pageContext.request.contextPath}/deleteUser" 
          sortable="true" headerClass="sortable" /> 
       </display:table> 

и передает правильное значение сервлету. Надеюсь, это поможет кому-то еще

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