ssh整合中的问题

1、web.xml中的filter是有顺序的。将session的关闭放在加载完jsp页面后。

 <!-- filter是有顺序的,要写在struts之前 -->
  <!-- 配置filter   让session(load方法)在解析完jsp页面后,再关闭session -->
  <filter>
  		<filter-name>openSessionInView</filter-name>
  		<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
  </filter>
  <filter-mapping>
  		<filter-name>openSessionInView</filter-name>
  		<url-pattern>/*</url-pattern>
  </filter-mapping>
          
  <!-- struts -->           
  <filter>         
    <filter-name>struts2</filter-name>    
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
  </filter>  
  <filter-mapping>     
    <filter-name>struts2</filter-name>   
    <url-pattern>/*</url-pattern>        
  </filter-mapping>  

2、Action中的成员变量不受spring管理,受struts-spring-plugin的管理。 (也可让spring管理,见下5)

自动生成action 的bean(不需加注释也可生成)。

自动寻找spring容器中的bean是否有和成员变量一样的name(dafault),有的话自动注入(不需要加注释也可注入)。在set方法上加上@Resource(name="aaaaa")没用,要想控制名字,将注释加到属性上。

//@Component("register")
//@Scope("prototype")       //设置多例
public class RegisterAction extends ActionSupport{
	
	@Resource(name="aaaaaaaaa")
	private UserService userService;

3、openSessionInView

自己创建事务的话一般不会出错。但当你没有设置事务时,会报错,无法执行写操作。

4、中文乱码问题

利用断层思维来解决,一段一段的测试,看到底是哪出错了。

可利用struts2 的i18n来设置。也可以利用spring的org.springframework.web.filter.CharacterEncodingFilter  在web.xml中的配置,来设置字符编码。

5、让struts.xml中的action的class为bean的name。不能省略所有的注释。

        <action name="r" class="register">
            <result name="success">/success.jsp</result>
            <result name ="error">/false.jsp</result>
            <result name="load">/load.jsp</result>
        </action>

@Component("register")
@Scope("prototype")       //设置多例
public class RegisterAction extends ActionSupport{
	
	private UserService userService;
	





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值