Как получить доступ к атрибуту запроса внутри тега отображения в 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
- Викисклада BeanUtils-1.7.0.jar
- Викисклад коллекция-3.1.jar
- Обще-Ланг-2.3.jar
- displaytag-1.2.jar
- IText-1.3.jar
- jcl104-над-SLF4J-1.4.2.jar
- log4j-1.2.13.jar
- пои-3,2-FINAL.jar
- SLF4J-апи-1.4.2.jar
- 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; }