现在的位置: 首页 > 综合 > 正文

S2Struts+S2Dao实现简单的查询 收藏

2013年06月15日 ⁄ 综合 ⁄ 共 5627字 ⁄ 字号 评论关闭

 S2Struts+S2Dao实现简单的查询 收藏
下载S2StrutsBlank-V1.3.1.zip

1. 将convention.dicon作以下的修改

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
 "http://www.seasar.org/dtd/components21.dtd">
<components>
 <component class="org.seasar.framework.convention.impl.NamingConventionImpl">
  <initMethod name="addRootPackageName">
   <arg>"test"</arg>
  </initMethod>
 </component>
</components>

2.将jdbc.dicon改成自己的数据库连接,注意加入对应的数据库驱动包。如:classes12.jar

3.修改index.jsp

<tiles:insert beanName="main">
  <tiles:put name="title" value="S2Struts SMART deploy Blank" />
  <tiles:put name="body" type="string">
    Welcome to Seasar!
  </tiles:put>
  <tiles:put name="body" type="string">
 
  <html:form action="searchShain"> 这里的名字很重要,应该是action类名第一个字母变小写,去掉后面的Action
    <bean:define id="form" name="searchShainForm" />  
    <table class="tablebg">
      <tr>
        <td class="label"><bean:message key="shain.shainCd" /></td>
        <td class="label"><bean:message key="shain.shainNm" /></td>
        <td class="label"><bean:message key="shain.shainNmk" /></td>
      </tr>
      <tr>
        <td>
          <html:text property="shainCd" styleClass="text"/>
        </td>
        <td>
          <html:text property="shainNm" styleClass="text"/>
        </td>
        <td>
          <html:text property="shainNmk" styleClass="text"/>
        </td>
      </tr>
    </table>
    <s2struts:submit action="@{searchShainAction.search}"><bean:message key="button.search" /></s2struts:submit>
  </html:form>
  </tiles:put>
</tiles:insert>

4. searchShain.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table class="tablebg">
    <tr class="label">
      <th><bean:message key="shain.shainCd" /></th>
      <th><bean:message key="shain.shainNm" /></th>
      <th><bean:message key="shain.shainNmk" /></th>
    </tr>
    <c:forEach var="e" varStatus="s" items="${shainList}">
      <tr class="${s.index %2 == 0 ? 'row-0' : 'row-1'}">
        <td class="text"><c:out value="${e.shainCd}" /></td>
        <td class="text"><c:out value="${e.shainNm}" /></td>
        <td class="text"><c:out value="${e.shainNmk}" /></td>
      </tr>
    </c:forEach>
  </table>
</body>
</html>

5.AbstractAction.java

package test.action;

import org.seasar.struts.annotation.tiger.StrutsActionForward;
public abstract class AbstractAction {

    @StrutsActionForward
    public static final String SEARCH = "/WEB-INF/view/pages/searchShain.jsp";

}

6.SearchShainAction.java

package test.action;
//@StrutsAction(scope = ScopeType.SESSION, input = AbstractAction.SEARCH)
//@StrutsAction(name = "SearchShainAction", path = "test.action")
public class SearchShainAction extends AbstractAction {

    private ShainService shainService;
 private SearchShainForm shainForm;
 private List<ShainDto> shainList;
   
    public List<ShainDto> getShainList() {
  return shainList;
 }

 @Binding(bindingType = BindingType.MUST)
 public void setShainService(ShainService shainService) {
  this.shainService = shainService;
 }
   
    public SearchShainForm getShainForm() {
  return shainForm;
 }

 public void setShainForm(SearchShainForm shainForm) {
  this.shainForm = shainForm;
 }

 public String search() {
     ShainDto dto = new ShainDto();
     dto.setShainCd(shainForm.getShainCd());
     dto.setShainNm(shainForm.getShainNm());
     dto.setShainNmk(shainForm.getShainNmk());
     shainList = shainService.getShainDtoList(dto);
     return SEARCH;
    }
}

7.ShainDao.java

package test.dao;

@S2Dao(bean = Shain.class)
public interface ShainDao {

    @SqlFile
    List<ShainDto> getShainDtoList(ShainDto dto);

//    @Arguments("ShainCd")
//    ShainDto getShainDto(String shainCd);
}

8.ShainDao_getShainDtoList.sql

select SHAIN_CD,SHAIN_NM,SHAIN_NMK
from M_SHAIN
/*BEGIN*/
where
/*IF dto.shainCd != ''*/SHAIN_CD = /*dto.shainCd*/'7788'/*END*/
/*IF dto.shainNm != ''*/and SHAIN_NM = /*dto.shainNm*/'SCOTT'/*END*/
/*IF dto.shainNmk != ''*/and SHAIN_NMK = /*dto.shainNmk*/'ANALYST'/*END*/
/*END*/

9.ShainDto.java
package test.dto;
public class ShainDto extends Shain {
    private String shainCd;
    private String shainNm;
    private String shainNmk;
 public String getShainCd() {
  return shainCd;
 }
 public void setShainCd(String shainCd) {
  this.shainCd = shainCd;
 }
 public String getShainNm() {
  return shainNm;
 }
 public void setShainNm(String shainNm) {
  this.shainNm = shainNm;
 }
 public String getShainNmk() {
  return shainNmk;
 }
 public void setShainNmk(String shainNmk) {
  this.shainNmk = shainNmk;
 }

}

10.Shain.java
package test.entity;

@Bean(table = "M_SHAIN")
public class Shain {

    public String shainCd;

    public String shainNm;

    public String shainNmk;   
}

11.SearchShainForm.java
package test.form;

@StrutsActionForm
public class SearchShainForm implements Serializable { 自动配置的时候form的名字一定要和Action的名字对应,不然会出错

    private static final long serialVersionUID = 1L;

    private String shainCd;

    private String shainNm;

    private String shainNmk;
//    private List<ShainDto> shainList;

// public List<ShainDto> getShainList() {
//  return shainList;
// }
//
// public void setShainList(List<ShainDto> shainList) {
//  this.shainList = shainList;
// }

 public String getShainCd() {
  return shainCd;
 }

 public void setShainCd(String shainCd) {
  this.shainCd = shainCd;
 }

 public String getShainNm() {
  return shainNm;
 }

 public void setShainNm(String shainNm) {
  this.shainNm = shainNm;
 }

 public String getShainNmk() {
  return shainNmk;
 }

 public void setShainNmk(String shainNmk) {
  this.shainNmk = shainNmk;
 }

}

12。ShainService.java
package test.service;
public class ShainService {

    private ShainDao shainDao;

    @Binding(bindingType = BindingType.MUST)
    public void setShainDao(ShainDao employeeDao) {
        this.shainDao = employeeDao;
    }

    public List<ShainDto> getShainDtoList(ShainDto dto) {
        return shainDao.getShainDtoList(dto);
    }

}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/elia1208/archive/2010/01/27/5262392.aspx

抱歉!评论已关闭.