Как получить доступ к атрибуту запроса внутри тега отображения в JSP в Struts 2

Я установил arraylist в моем классе действий, как показано ниже

    public class Student {

        public String execute()  {

        List students_list = new ArrayList(); 

        //business service that fetches students 
        students_list = studentService.getStudents(); 

        request.setAttribute("StudentList", students_list);

        return "listStudents";
     } 
}

В моем JSP я получаю доступ к нему, как показано ниже

<%@ taglib prefix="s" uri="/struts-tags"%>

<%@ taglib uri="/WEB-INF/displaytag-12.tld" prefix="display" %>

    <display:table uid= "studentTable" name="%{#request.StudentList}" border="0" cellpadding="0" cellspacing="1" styleClass="data" width="100%" export="true" requestURI="listStudents.action">

        <display:setProperty name="basic.empty.showtable" value="true" />   

        <display:setProperty name="basic.show.StudentList" value="false" />

        <display:setProperty name="css.th.sortable" value="centbold" />

        <display:setProperty name="css.th.sorted" value="centbold" />

        <display:setProperty name="export.excel.filename" value="StudentList.xls" />

        <display:setProperty name="export.banner">
            ...........................................
            ...........................................

    </display:table>

struts.xml

<action name="listStudents" class="com.students.action.Student">
    <result name="listStudents">/jsp/listStudents.jsp</result>
</action>

Я также добавил displaytag-1.0.jar в папку WEB-INF/lib проекта.

Таблица не отображается в JSP (пустой JSP).
Могу ли я узнать, как решить эту проблему?
заранее спасибо

2 ответа

Я обнаружил, что displaytag-1.0.jar не поддерживается в Struts 2 Framework.
Решение:

  • Добавьте последнюю флягу - displaytag-1.2.jar. Этот jar-файл зависит от commons-lang-2.x jar, поэтому этот jar-файл также должен находиться в папке WEB-INF/lib.

  • В JSP 2.0 и displaytag-1.2.jar нет необходимости в displaytag-12.tld в папке WEB-INF.

  • В JSP включите <% @ taglib uri = "http://displaytag.sf.net" prefix = "display"%>
  • Чтобы получить доступ к атрибуту запроса в отображаемом теге, просто используйте

    <display:table uid= "studentTable" name="StudentList">
    где "StudentList" - это атрибут запроса, установленный в классе действия.

  • Добавьте displaytag-export-poi-1.2.jar в папку lib, если для таблицы отображения требуется экспорт в CSV|XML|EXCEL.

Попробуйте изменить URI

<%@ taglib uri="http://displaytag.sf.net" prefix="display"%> 

Вам нужны эти файлы JAR

  1. Викисклада BeanUtils-1.7.0.jar
  2. Викисклад коллекция-3.1.jar
  3. Обще-Ланг-2.3.jar
  4. displaytag-1.2.jar
  5. IText-1.3.jar
  6. jcl104-над-SLF4J-1.4.2.jar
  7. log4j-1.2.13.jar
  8. пои-3,2-FINAL.jar
  9. SLF4J-апи-1.4.2.jar
  10. SLF4J-log4j12-1.4.2.jar

Используйте этот CSS

style.css

table {     border: 1px solid #666;     width: 80%;     margin: 20px 0 20px 0 !important; } th,td {     padding: 2px 4px 2px 4px !important;    text-align: left;   vertical-align: top; } thead tr {   background-color: #999999; } th.sorted {    background-color: #CCCCCC; } th a,th a:visited {    color: black; } th a:hover {    text-decoration: underline;     color: black; } th.sorted a,th.sortable a {     background-position: right;     display: block;     width: 100%; } tr.odd {     background-color: #fff } tr.tableRowEven,tr.even {  background-color: #CCCCCC } .group-1 { font-weight:bold; padding-bottom:10px; border-top:1px solid black; } .group-2 { font-style:italic; border-top: 1px solid black; } .grouped-table tr.even { background-color: #fff; } .grouped-table tr.odd { background-color: #fff; }
Другие вопросы по тегам