<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="swork" extends="struts-default" namespace="">
<!-- 全局异常 -->
<global-exception-mappings>
<!-- result 会取找全局视图的名称 -->
<exception-mapping result="null" exception="java.lang.NullPointerException"></exception-mapping>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
<!-- Action实例交给spring容器创建 -->
<!-- 招聘信息Action -->
<action name="swork_*" class="searchworkAction" method="{1}">
<!-- 招聘列表展示 -->
<result name="sworkList">/WEB-INF/list.jsp</result>
<result name="error">/WEB-INF/list.jsp</result>
<!-- 跳转到添加页面 -->
<result name="sworkAdd">/WEB-INF/sworkadd.jsp</result>
<!-- 添加成功,进入列表 (防止刷新就多一条记录问题,所以用重定向) -->
<result name="sworklistAction" type="redirectAction">swork_list</result>
<!-- 进入修改页面 -->
<result name="edit">/WEB-INF/sworkedit.jsp</result>
</action>
</package>
</struts>
action
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.RequestAware;
import com.zx.entity.Searchwork;
import com.zx.service.ISearchworkService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.util.ValueStack;
/**
* 新闻模块控制器开发:
* 1.招聘列表展示
* 2. 添加招聘信息
* 3. 修改招聘信息
* 5. 删除新闻
* @author zhang x
*
*/
public class SearchworkAction extends ActionSupport implements ModelDriven<Searchwork>, RequestAware{
/**
*
*/
private static final long serialVersionUID = 1L;
/*******一、封装数据********/
private Searchwork swork = new Searchwork(); // 【模型驱动】
// 封装请求的部门id(下拉列表的实际的值)
public void setSearchwork(Searchwork swork) {
this.swork = swork;
}
public Searchwork getSearchwork() {
return swork;
}
public Searchwork getModel() {
return swork; // 返回实例化后的对象
}
/*******二、注入招聘信息Service********/
private ISearchworkService searchworkService;
public void setSearchworkService(ISearchworkService searchworkService) {
this.searchworkService = searchworkService;
}
/**
* 1. 招聘信息列表展示
*/
public String sworkList() {
// 查询所有员工
List<Searchwork> listSwork = searchworkService.getAll();
// 保存到request
request.put("listSwork", listSwork);
return "sworkList";
}
/**
* 2. 进入到添加招聘信息页面
*/
public String viewAdd(){
return "sworkAdd";
}
/**
* 2. 添加员工 - 添加招聘信息数据
*/
public String save(){
// 调用Service,保存信息
searchworkService.save(swork);
return "sworklistAction"; // 重定向到Action
}
/**
* 3. 修改招聘信息 - 进入修改视图
*/
public String viewUpdate(){
// 获取要修改的记录的id
int id = swork.getId();
// 1. 根据招聘信息的主键查询 (lazy="false")
Searchwork swork = searchworkService.findById(id); // 已经有部门信息
// 数据回显
ValueStack vs = ActionContext.getContext().getValueStack();
vs.pop();// 移除栈顶元素
vs.push(swork); // 入栈
return "sworkEdit";
}
/**
* 4. 修改招聘信息 - 确认修改
*/
public String update() {
//1. 更新招聘信息
searchworkService.update(swork);
return "sworklistAction"; // 重定向到列表
}
/**
* 5. 修改招聘信息 - 删除
*/
public String delete(){
// 获取要删除招聘信息的主键
int sworkId = swork.getId();
// 调用service删除
searchworkService.delete(sworkId);
return "sworklistAction";
}
// 接收框架运行时候传入的代表request对象的map
private Map<String, Object> request;
public void setRequest(Map<String, Object> request) {
this.request = request;
}
}
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>招聘列表展示</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<div align="center" style="width:80% ">
<s:a href="swork_viewAdd">添加招聘信息</s:a>
</div>
<table border="1" align="center" width="80%" cellpadding="5" cellspacing="0">
<tr>
<th>序号</th>
<th>工作名称</th>
<th>工作地点</th>
<th>薪水</th>
<th>操作</th>
</tr>
<s:if test="#request.listSwork != null">
<s:iterator var="swork" value="#request.listSwork" status="st">
<tr>
<td> <s:property value="#st.count"/> </td>
<td> <s:property value="#swork.id"/> </td>
<td> <s:property value="#swork.jobName"/> </td>
<td> <s:property value="#swork.workPlace"/> </td>
<td> <s:property value="#swork.income"/> </td>
<td>
<s:a href="swork_viewUpdate?id=%{#swork.id}">修改</s:a>
<s:a href="swork_delete?id=%{#swork.id}">删除</s:a>
</td>
</tr>
</s:iterator>
</s:if>
<s:else>
<tr>
<td colspan="5">对不起,没有你要找的数据!请先录入。</td>
</tr>
</s:else>
</table>
</body>
</html>
初学者求大神告知哪里出错,为什么用浏览器打开jsp会报错no result defined for action and result error