这是我的JSP页面。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
b {
color: navy;
background-color: orange;
}
</style>
<title>Struts2-Spring-Tiles integration | dineshonjava.com</title>
</head>
<body>
<h2>Add User</h2>
<b> <s:form action="addUsermenu">
<s:textfield name="userName" key="user.name" />
<s:textfield name="userAge" key="user.age" value="" />
<s:radio name="userGender" key="user.gender" list="{'Male','Female'}" />
<s:select name="userJob" key="user.job"
list="%{#{'Software':'Software','Hardware':'Hardware','Networking':'Networking','Marketing':'Marketing'}}" />
<s:checkboxlist name="userHobbies" key="user.hobby"
list="{'Cricket','Football','Drawing','Cooking','Driving','Movie'}" />
<s:submit key="submit" align="center" />
</s:form> </b>
<s:if test="%{users.isEmpty()}">
</s:if>
<s:else>
<b>List of Users</b>
<table border="1">
<tr>
<td><b>Name</b></td>
<td><b>Age</b></td>
<td><b>Gender</b></td>
<td><b>Job Type</b></td>
<td><b>Hobbies</b></td>
</tr>
<s:iterator value="users">
<tr>
<td><s:property value="userName" /></td>
<td><s:property value="userAge" /></td>
<td><s:property value="userGender" /></td>
<td><s:property value="userJob" /></td>
<td><s:property value="userHobbies" /></td>
<td><a href="delete">Delete</a>
<td><a href="<s:property value="Update" />">Update</a>
</td>
</tr>
</s:iterator>
</table>
</s:else>
</body>
</html
这是我的StrutsConfig.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name="struts.custom.i18n.resources" value="myapp" />
<package name="user" extends="struts-default" namespace="/">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="user" class="user" method="execute">
<result name="user" type="tiles">mainTemplate</result>
</action>
<action name="*menu" class="user" method="{1}">
<result name="user" type="tiles">mainTemplate</result>
<result name="madhuri" type="tiles">madhuri</result>
<result name="alia" type="tiles">alia</result>
<result name="addUser" type="tiles">mainTemplate</result>
<result name="deleteUser" type="tiles">mainTemplate</result>
</action>
</package>
</struts>
这是我的USerAction.jsp:
public class UserAction extends ActionSupport implements ModelDriven<UserBean>{
private static final long serialVersionUID = 1L;
@Autowired
private UserBean userBean;
@Autowired
private UserService userService;
private List<UserBean> users;
public String execute() {
users = CommonUtility.createUserBeanList(userService.getUserList());
return "user";
}
public String addUser(){
userService.saveUser(CommonUtility.createModel(userBean));
users = CommonUtility.createUserBeanList(userService.getUserList());
return "addUser";
}
public String deleteUser(){
userService.deleteUser(CommonUtility.createModel(userBean));
users = CommonUtility.createUserBeanList(userService.getUserList());
return "deleteUser";
}
public String listUser(){
users = CommonUtility.createUserBeanList(userService.getUserList());
return "users";
}
@Override
public UserBean getModel() {
return userBean;
}
public String alia() {
return "alia";
}
public String madhuri() {
return "madhuri";
}
public String user() {
return "user";
}
public List<UserBean> getUsers() {
return users;
}
public void setUsers(List<UserBean> users) {
this.users = users;
}
}
public String deleteUser(){
userService.deleteUser(CommonUtility.createModel(userBean));
users = CommonUtility.createUserBeanList(userService.getUserList());
return "deleteUser";
}
功能不起作用我在哪里做错了请帮助我,我认为有一些小错误,所以我无法找到错误。
答案 0 :(得分:0)
表单提交的动作名称为addUsermenu
。
在您的struts.xml,
中,您有一个操作标记,指向所有与菜单匹配的方法。所以你的addUsermenu会找到相应的方法。即addUser()。
但是在删除的情况下,您必须将操作名称更改为deleteUsermenu
才能找到函数deleteUser()
解 将删除链接更改为此
<a href="delete">Delete</a>
到这个
<a href="<s:url action='deleteUsermenu'/>">Delete</a>