Struts2使用记录

本文记录使用 Struts2出现的问题,和解决方案。


[*] IBATIS iterate的问题。

通过一组学生的id,批量设置他们的isleave为1。
使用iterate的两种方案
1.使用IN关键字

<update id="setStudentLeac.update1" parameterClass="java.util.List">
update tb_student set isleave=1 where student_id in
(<iterate conjunction=",">#[]#</iterate>)
</update>


2.循环update执行

<update id="setStudentLeac.update" parameterClass="java.util.List">
<iterate conjunction="">
update tb_student set isleave=1 where student_id =#[]#;
</iterate>
</update>


第2种方案一直会报错。 但是提示的sql根本看不出哪里错了 8) 作为悬案吧。暂时用1方法


[*]多个struts2配置文件。使用公共拦截器或者全局结果
如果拦截器I写在A.XML文件中。我想要在B.XML中使用该拦截器I。B的package需要是继承A
例子:
主配置文件 struts.xml

<?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>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name="struts.ui.theme" value="simple" />
<constant name="struts.multipart.maxSize" value="10485760" /> <!-- 文件上传为10M -->



<package name="main" extends="struts-default" >

<interceptors>
<interceptor name="refuseGet" class="com.growup.tool.NoGetInterceptor">
</interceptor>
</interceptors>


<global-results>
<result name="index">/html/index.jsp</result>
<result name="Exception" type="redirect">/ExceptionAction.action</result>
<result name="exception" >/html/Exception.jsp</result>
</global-results>

<global-exception-mappings>
<exception-mapping result="Exception" exception="java.lang.Exception"/>
</global-exception-mappings>


<!--登录请求done -->
<action name="actionLogin" class="com.growup.action.LoginAction" method="checkLogin">

<result name="success" type="redirect">/html/teacherLogin.jsp</result>
<result name="error">/html/index.jsp</result>
</action>

</package>


<!-- Add packages here -->
<constant name="struts.ui.theme" value="simple" />
<constant name="struts.ui.templateDir" value="template" />
<constant name="struts.ui.templateSuffix" value="ftl" />


<include file="struts-manage.xml"></include>

</struts>




从配置文件 struts-manage.xml

<?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>
<include file="struts.xml"></include>


<package name="manage" extends="main" >

<!-- 只给添加学生 done -->
<action name="addstudentAction" class="com.growup.action.SetBasicInfoAction" method="onlySetStudents">
<interceptor-ref name="refuseGet"></interceptor-ref>
<interceptor-ref name="defaultStack"/>
</action>
</package>


</struts>

可以看到struts-manage.xml中可以使用refuseGet这个拦截器。只是include是不行的。本来以为这样会有冲突。继承的action和主文件中的action冲突。不过没有发生。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值