用struts2显示标签

时间:2011-09-09 08:38:45

标签: java jsp struts2 displaytag

我正在尝试为从动作类传递的ArrayList使用display标签。

行动类

public List<AccessLog> getAccessLogList() throws ParseException
    {

        AccessLogManager am = new AccessLogManager(Config.getInstance());
        ArrayList<AccessLog> accessLogList = new ArrayList<AccessLog>();

        accessLogList = am.getAccessLog(userId, actionId, searchStartDate, searchEndDate);
        HttpSession sessAccessLog = req.getSession();
        sessAccessLog.setAttribute("accessLogListSession", accessLogList);
        return accessLogList;
    }

JSP页面

     <display:table id="accessLogList" name="accessLogList" requestURI="SessionLogAction" pagesize="10" defaultsort="1" >
        <display:column property="accessLogId" title="LogId" sortable="true" headerClass="sortable" />
        <display:column property="username" title="Username" sortable="true" headerClass="sortable"/>
        <display:column property="actionName" title="Action" sortable="true" headerClass="sortable"/>
        <display:column property="description" title="Description" sortable="true"  headerClass="sortable"/>
        <display:column property="remark" title="Remark"/>
        <display:column property="timeStamp" title="TimeStamp" sortable="true" headerClass="sortable"/>
    </display:table>

虽然我可以在HTML中看到第一页,但所有的页面链接(例如2,3等)都无效。所以我试图在Session中传递arraylist值。但我再次面临新的错误。

我的问题是如何使用struts2使页面链接在显示标记中工作。我找到了struts1的示例,但没有使用struts2。提前致谢。

1 个答案:

答案 0 :(得分:2)

最后我修好了。

  

display:table id =“accessLogList”name =“accessLogList”requestURI =“viewLogList.action”   pagesize =“10”defaultsort =“1”&gt;

请使用将映射到特定操作的操作名称。它运作得很好。

例如:

<action name="viewLogList" 
                class="test.SessionLogAction">
                <result name="success">/WEB-INF/pages/Log_list.jsp</result>
                <result name="input">/WEB-INF/pages/Log_list.jsp</result>
        </action>