struts2 CRUD

来源:互联网 发布:在线视频网站cms 编辑:程序博客网 时间:2024/05/16 19:51
Struts2CRUD  
 

UserBean

//要添加set,getpublic class UserBean {         private Long id;        private String name;            private String password;                private int age;                private Date birthday;          private Long sex;               private Set<Long> likes;                private String des;//描述}public class LikeBean {         private Long id;        private String name;}

FormAction

   public class FormAction{        //属性要生成get,set        //标记(添加,修改)        private String tip;             private UserBean userBean;              private List<LikeBean> likeList;                private List<UserBean> userList;        //到列表页面         public String list(){                userList = new ArrayList<UserBean>();                userList.add(new UserBean("abc",19,new Date()));                userList.add(new UserBean("def",70,new Date()));                userList.add(new UserBean("ghi",40,new Date()));                return "list";        }        //到添加页面        public String toAdd(){                likeList = new ArrayList<LikeBean>();                likeList.add(new LikeBean(new Long(1),"上网"));                likeList.add(new LikeBean(new Long(2),"读书"));                likeList.add(new LikeBean(new Long(3),"游戏"));                                tip = "add";                return "info";        }        //添加方法,Struts2会自动把对应的值赋值给userBean        public String add(){                System.out.println(userBean);                return "toList";        }        //到更新页面,取出值,设置标记        public String toUpdate(){                likeList = new ArrayList<LikeBean>();                likeList.add(new LikeBean(new Long(1),"上网"));                likeList.add(new LikeBean(new Long(2),"读书"));                likeList.add(new LikeBean(new Long(3),"游戏"));                                tip = "update";                System.out.println("update name:"+userBean.getName());                userBean = new UserBean("update",100,new Date());                userBean.setId(new Long(101));                userBean.setSex(new Long(2));                userBean.setDes("Struts2用户");                Set<Long> likes = new HashSet<Long>();                likes.add(new Long(2));                likes.add(new Long(3));                userBean.setLikes(likes);                return "info";        }        //更新方法        public String update(){                System.out.println(userBean);                return "toList";        }        //删除方法        public String delete(){                System.out.println("del name:"+userBean.getName());                return "toList";        }   }

struts.xml配置

<struts>    <package name="form" namespace="/form" extends="struts-default">        <!-- 使用通配符调用多个方法,method为*对应的字符串 -->        <action name="userAction_*" class="com.struts2.form.FormAction" method="{1}">            <!-- 方法返回的字符串对应name,再转发到页面 -->            <result name="list">/form/list.jsp</result>            <result name="info">/form/info.jsp</result>            <!-- 重定向Action,可以有Action名字和空间,参数 -->            <result name="toList" type="redirectAction">                <!-- 空间参数,不写代表和当前Action同一个空间                <param name="namespace">form</param>                 -->                <!-- 重定向Action的名称 -->                <param name="actionName">userAction_list</param>                <!-- url带的参数,${userBean.name}是动态参数,值为Action的属性userBean中name的值 -->                <param name="userName">${userBean.name}</param>                <param name="userAge">${userBean.age}</param>            </result>                    </action>    </package></struts>

jsp页面

1.list(列表页面)

<!-- 添加标签 --><%@ taglib prefix="s" uri="/struts-tags" %>        <div><a href="${pageContext.request.contextPath}/form/userAction_toAdd.action">添加</a></div>        <div>                <!-- 判断用户是否为空 -->                <s:if test="(userList!=null)&&(!userList.isEmpty())">                        <div>用户列表</div>                        <!-- 遍历用户 -->                        <s:iterator value="#request.userList" id="u" status="st">                                <s:property value="#st.index+1"/>&nbsp;                                <s:property value="#u.name"/>&nbsp;                                <s:property value="#u.age"/>&nbsp;                                <!-- 格式化日期 -->                                <s:date name="#u.birthday" format="yyyy-MM-dd HH:mm:ss" />&nbsp;&nbsp;&nbsp;&nbsp;                                <a href="${pageContext.request.contextPath}/form/userAction_toUpdate.action?userBean.name=${u.name}">修改</a>&nbsp;&nbsp;&nbsp;&nbsp;                                <a href="${pageContext.request.contextPath}/form/userAction_delete.action?userBean.name=${u.name}">删除</a>                                <br/>                        </s:iterator>                </s:if>                <s:else>                        <div>无用户</div>                </s:else>        </div>

2.info.jsp(添加和修改页面)

<!-- 添加标签 --><%@ taglib prefix="s" uri="/struts-tags" %>        <!-- 显示标记(添加/修改) -->        <s:property value="tip"/>        <!-- action="userAction_%{tip}"tip为Action中的标记变量 submit不加method -->        <s:form action="userAction" namespace="/form" method="POST">                <!-- userBean.id为Action中属性userBean中id的值 -->                <s:hidden name="userBean.id"></s:hidden>                <s:textfield name="userBean.name" label="用户名" ></s:textfield>                <s:textfield name="userBean.age" label="年龄" ></s:textfield>                <s:textfield name="userBean.birthday" label="生日" >                        <!-- 格式化日期 -->                        <s:param name="value"><s:date name="userBean.birthday" format="yyyy-MM-dd" /></s:param>                </s:textfield>                <!-- 密码不能回填 -->                <s:password name="userBean.password" label="密码" ></s:password>                <s:textarea name="userBean.des" label="描述" cols="35" rows="8"></s:textarea>                                <!-- 这种checkbox显示出来是一行只有一个checkbox                 <s:iterator value="likeList">                        <s:checkbox name="userBean.likes" label="%{name}" fieldValue="%{id}"></s:checkbox>                </s:iterator>                -->                <!-- 这种是一行多个 -->                 <s:checkboxlist list="likeList" name="userBean.likes" listKey="id" listValue="name" label="爱好"></s:checkboxlist>                                <!-- 下拉框                <s:select list="likeList" listKey="id" listValue="name" headerKey="-1" headerValue="请选择爱好"></s:select>                -->                <!-- value="1" 设置默认,但是好像设置了不能回填 -->                <s:radio list="#{'1':'男','2':'女'}" label="性别"  name="userBean.sex"></s:radio>                <s:submit value="%{tip}" id="submitBut" method="%{tip}"></s:submit>        </s:form>
0 0
原创粉丝点击