1 页面上通过url触发,比如<a href="credit_createCreditUI.action" >触发</a>
分析这个url,可以看出,触发的功能代码是:在xxxStruts.xml配置里面<action name="credit_*" class="creditAction" method="{1}">对应的处理类class="creditAction"当然这个由spring来管理,查看xxxBeans.xml可以看到具体是那个类。那么遇到这种触发,就知道,这个请求是进入到类creditAction里面的createCreditUI这个方法来处理的,我们看下这个方法
2
public final String createCreditUI() { log.info("创建贷方传票页面"); log.warn(LogTool.userLog() + "进入贷方传票页面。"); return "createCreditUI"; }
可以看到这个类只是简单做一个地址跳转,跳转到真正处理这个贷方传票的页面return "createCreditUI";去。这里又涉及到了ssh中struts2的配置,我们在它的struts.xml配置文件看下
3
<struts> <package name="credit" namespace="/" extends="main"> <!-- 资料导出 --> <action name="credit_*" class="creditAction" method="{1}"> <!-- 登录超时和Session权限的拦截器栈 --> <interceptor-ref name="sessionTimeOutStack" /> <result name="timeout">/timeout.jsp</result> <result name="createCreditUI">/WEB-INF/report/credit_summons_UI.jsp</result> <result name="checkCredit">/WEB-INF/report/credit_summons_print.jsp</result> <result name="test">/WEB-INF/report/credit_summons_print_all.jsp</result> <result name="error">/WEB-INF/merchant/ajaxDone.jsp</result> <result name="success">/WEB-INF/merchant/ajaxDone.jsp</result> </action> </package> </struts>
这样,一个由页面触发,到action类处理跳转的流程就完成了。如果涉及到具体的功能处理或计算,也是写在action类里面相应的方法里,然后封装好需要的bean或处理好相应的sql,最后跳转而已。
如果涉及到具体功能方法,比如数据库操作,由于本项目用spring管理,所以需要注入spring这个处理方法,做法是:
在Action中先注入
/** * 注入接口实例. */ @Resource private CreditService creditService;
那么CreditService 这个其实就是 interface CreditService 接口类,当然还需要有个impl来具体实现这个接口。用它也就是在Action中:
creditService.queryDateCredit(startDateTest, endDateTest, bankFlagTest, merchantFlag);
这样就行了