日期:2014-05-17  浏览次数:20711 次

SSH2遇到一个问题,请大侠们帮帮我
就是在整合的时候,登录注册还要去加载页面上的数据,所以我写了一个BookAction来初始化登陆之后显示页面的信息,
struts_user.xml,struts_book.xml配置文件也有两个,struts_user.xml是登录用的,struts_book.xml是用来初始化登陆后页面显示的信息,我这个分法是模块化,请原谅....

我的问题是:从struts_user.xml中的action转发到struts_book.xml的aciton,怎么指定方法名,就是我要调用BookAction中的list()方法,我该怎么做,

还有就是,我在登录的时候做了判断,如果是普通会员登录那就跳入bookAction中的main.jsp,如果是管理员登录那就跳入struts_book.xml中bookAction的manager.jsp,那么我在struts_book.xml中的result的name怎么写


登录的配置信息struts_user.xml:

<struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<constant name="struts.configuration.xml.reload" value="true"></constant>
<constant name="struts.i18n.reload" value="true"></constant>
<!-- 默认的视图主题 -->
  <constant name="struts.ui.theme" value="simple" />
  <constant name="struts.objectFactory" value="spring" />

<package name="user" extends="struts-default" >
<action name="userAction" class="userAction">
<result type="chain">bookAction</result>
<result name="error">/index.jsp</result>
<result name="logout">/index.jsp</result>
<result name="manager" type="chain">bookAction</result>
</action>
</package>

</struts>  

struts_user.xml对应的UserAction信息

public class TUserAction extends BaseAction {

private static final long serialVersionUID = 1482245239790611680L;

private ITUserBiz userBiz;
private TUser user;
private Map session;
private String msg;

set和get我省掉为了直观

/**
* 登录
* @return
* @throws Exception
*/
public String login() throws Exception {
session=ActionContext.getContext().getSession();
TUser u=this.userBiz.login(this.user);
if(u!=null){
session.put("user", u);
if(u.getUserType()==1){
return "manager";
}
return SUCCESS;
}else{
this.msg="<script color='red'>alert('用户名或密码错误,请重新登录')</script>";
return ERROR;
}
}
/**
* 注册
*/
public String logout() throws Exception {
this.userBiz.logout(user);
this.msg="<script color='red'>alert('注册成功,请登录')</script>";
return "logout";
}
}


struts_book.xml:配置信息


<struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<constant name="struts.configuration.xml.reload" value="true"></constant>
<constant name="struts.i18n.reload" value="true"></constant>
<!-- 默认的视图主题 -->
  <constant name="struts.ui.theme" value="simple" />
  <constant name="struts.objectFactory" value="spring" />

<package name="book" extends="struts-default" >
<action name="bookAction" class="bookAction" method="list">
<result>/main.jsp</result>
<result name="manager">/manager.jsp</result>
</action>
</package>

</struts>  

当然还有一个BookAction来实现业务逻辑:

public class TBookAction extends BaseAction {

private static final long serialVersionUID = 2923206199972578677L;
private ITBookBiz bookBiz;
private TBook book;

private List<