SSH前後端資料互動

勿在浮沙築高臺LS發表於2016-12-18

jsp頁面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>sss
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
  <head>

    <title>My JSP 'index.jsp' starting page</title>
  </head>

  <body>
   <s:form action="role_editUI">
   <s:hidden name="id"></s:hidden>
   <s:textfield name="name"></s:textfield>
   <s:textarea name="description"></s:textarea>
   <s:submit name="提交"></s:submit>
   </s:form>
  </body>
</html>

form標註為role-editUI
然後在struts.xml裡面配置action

 <action name="role_*" class="roleAction" method="{1}">
          <result name="list">/WEB-INF/JSP/roleAction/list.jsp</result>
          <result name="addUI">/WEB-INF/JSP/roleAction/addUI.jsp</result>
          <result name="editUI">/WEB-INF/JSP/roleAction/editUI.jsp</result>
          <result name="toList" type="redirectAction">role_list</result>
      </action>

editUI.jsp對應的方法為類roleAction下面的editUI()方法

package cn.itcast.oa.view.action;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import cn.itcast.oa.domain.Role;
import cn.itcast.oa.service.RoleService;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@Controller
@Scope("prototype")
public class RoleAction extends ActionSupport{
    private Long id;
    private String name;
    private String description;
    @Resource
    private RoleService roleService;
    /**
     * 列表
     * @return
     * @throws Exception
     */
    public String list() throws Exception{
        List<Role> roleList = roleService.findAll();
        ActionContext.getContext().put("roleList", roleList);
        return "list";
    }
    /**
     * 刪除
     * @return
     * @throws Exception
     */
    public String delete() throws Exception{
        return "toList";
    }
    /**
     * 新增
     * @return
     * @throws Exception
     */
    public String add() throws Exception{
         Role role = new Role();
         role.setName(name);
         role.setDescription(description);
         roleService.save(role);
        return "toList";
    }
    /**
     * 修改
     * @return
     * @throws Exception
     */
    public String edit() throws Exception{
        //要更新到資料庫
        Role role = roleService.getById(id);
        role.setName(name);
        role.setDescription(description);
        roleService.update(role);
        return "toList";
    }
    /**
     * 新增頁面
     * @return
     * @throws Exception
     */
    public String addUI() throws Exception{
        return "addUI";
    }
    /**
     * 修改頁面
     * @return
     * @throws Exception
     */
    public String editUI() throws Exception{
        //準備回顯的資料
        Role role=roleService.getById(id);
        //ActionContext.getContext().getValueStack().push(role);
        this.name=role.getName();
        this.description=role.getDescription();
        return "editUI";
    }
}

然後通過service和hibernate就可以達到編輯的效果。

相關文章