displaytag不使用struts 2使用tile

时间:2014-10-15 08:51:21

标签: struts2 tiles

在我的应用程序中使用struts 2框架和tile。 现在,我想使用displaytag在数据库表中显示数据。我做了以下事情:

在我的struts.xml中:

<action name="users_admin" class="com.controller.admin.UserAction">
        <interceptor-ref name="checkSession" />
        <result name="login">/login.jsp</result>
        <result type="tiles" name="none">/users_admin.tiles</result>
    </action>

在文件UserAction中:

public class UserAction extends ActionSupport{
    private List<Users> listUsers;
    private String myActionName;

    public String getMyActionName() {
        return myActionName;
    }

    public void setMyActionName(String myActionName) {
        this.myActionName = myActionName;
    }

    public List<Users> getListUsers() {
        return listUsers;
    }

    public void setListUsers(List<Users> listUsers) {
        this.listUsers = listUsers;
    }

    @Override
    public String execute() throws Exception {
        listUsers = UserServices.selectAll();
        return NONE;
    }
}

并在文件user_admin.jsp(文件在tile中使用):

<s:actionerror cssStyle="color:red"/>
    <div class="well">
        <display:table name="listUsers" id="listUsers" requestURI="/UserAction" cellpadding="5px;"
                       cellspacing="5px;" style="margin-left:50px;margin-top:20px;">
            <display:column property="EMAIL" title="Email"/>
            <display:column property="NAME" title="Name"/>
        </display:table>
    </div>

文件用户模型:

package com.model;

public class Users {

    private String EMAIL;

    private String NAME;

    public String getEMAIL() {
        return EMAIL;
    }

    public void setEMAIL(String EMAIL) {
        this.EMAIL = EMAIL == null ? null : EMAIL.trim();
    }

    public String getNAME() {
        return NAME;
    }

    public void setNAME(String NAME) {
        this.NAME = NAME == null ? null : NAME.trim();
    }
}

当我在apache tomcat log

中运行应用程序时发生错误
org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception
     java.lang.ClassNotFoundException: org.apache.commons.collections.IteratorUtils

谁能帮助我指出为什么错误,在解决方案中克服它?

1 个答案:

答案 0 :(得分:0)

commons-collections-3.1.jar添加到您的库中。

请注意,您只使用一个拦截器,除非checkSession是您的堆栈名称。

修改

  

拦截器checkSession检查我在网站上的日志。我应该如何使用。

您可以定义自定义拦截器堆栈,然后引用它,或者为单个操作包含您的自定义拦截器和另一个堆栈(例如,默认堆栈),如下所示:

<action name="users_admin" class="com.controller.admin.UserAction">
    <interceptor-ref name="checkSession" />
    <interceptor-ref name="defaultStack" />

    <result name="login">/login.jsp</result>
    <result type="tiles" name="none">/users_admin.tiles</result>
</action>