第一个struts+spring的例子

来源:互联网 发布:github 域名https 编辑:程序博客网 时间:2024/04/30 23:32

  呵呵刚学spring 写还望各位大虾指教!

配置struts就不用说了吧,如果用myEclipse直接add一下就可以了.接下来就来配置让它支持spring 可

一,新建项目后,打开struts-confing.xml在后面加人下面代码

   <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation"
            value="/WEB-INF/applicationContext.xml"/>
    </plug-in>

简单吧!

二然后就开始写我们的bean 了,老土点吧程序还是实现say hello

1.User  bean

package com.yourcompany.struts.model;

public class User {
public String sayHello(String str)
{
 return "hello,"+str;
}
}

 

2.控制器

 private User user=null;
 public void setUser(User user)
 {
  this.user=user;
 }

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)
throws Exception {
      DynaActionForm userForm = (DynaActionForm) form;
  String suss=user.sayHello((String)userForm.get("userName"));
  request.setAttribute("hello",suss);
  return mapping.findForward("sayHello");
}

动态formbea的配置我另一骗文章里有,大家注意黑体部门。这就是spring 的依赖注入了.

咱们先看看配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    <bean name="/user" class="com.yourcompany.struts.action.UserAction" singleton="false">
        <property name="user"><ref bean="user"/></property>
    </bean>
        <bean name="user" class="com.yourcompany.struts.model.User" singleton="false">
    </bean>
</beans>

首先定义的是 userAction它有个user的属性,而user属性又依赖 下面定义的user  bean;.,还有一点就是

在struts-config里更改userAction的type属性让它由spring来控制.

<action path="/user" type="org.springframework.web.struts.DelegatingActionProxy"
            name="userForm" scope="request" parameter="method" validate="false"/>

这样spring就会在运行的时候装载各个bean并对相应的bean初始化了

爽吧

最后表现层

    This a struts page. <br>
    <logic:present name="hello">
    <bean:write name="hello"/>
    </logic:present>
    <html:form action="/user.do">
    <html:text property="userName"></html:text>
    <input type="hidden" name="method" value="list">
    <html:submit></html:submit>
    </html:form>
  </body>

 

完了,总结一下spring这样的做法的好处,在运行的时候通过配置文件把关系组装起来,更改关系的时候更

改配置文件就好了,而且struts的action由spring 来能减少控制层的代码,层次更清晰还有.....呵呵想不出来了。继续努力.....

 

原创粉丝点击