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<TBook> list;
set和get我省掉为了直观
/**
* 书籍列表
*/
public String list() throws Exception {
//request=(Map) ActionContext.getContext().get("reuqest");
//HttpServletRequest request = ServletActionContext.getRequest();
PageBean pageBean = this.processPageBean();
//request.put("bookList",this.bookBiz.list(book, pageBean));
if(book==null){
book=new TBook();
}
list=this.bookBiz.list(book, pageBean);
return SUCCESS;
}
}
[解决办法]
还有就是,我在登录的时候做了判断,如果是普通会员登录那就跳入bookAction中的main.jsp,如果是管理员登录那就跳入struts_book.xml中bookAction的manager.jsp,那么我在struts_book.xml中的result的name怎么写
可以在返回的时候写上普通用户 return "main" 管理员 return "manager"
我的问题是:从struts_user.xml中的action转发到struts_book.xml的aciton,怎么指定方法名,就是我要调用BookAction中的list()方法,我该怎么做,
这句话不太明白
是不是 登录action触发之后紧接着触发初始化系统信息的action?
<action name="List" class="com.system.web.action" method="list"> <result name="list">sitecolumnList.jsp</result> </action><action name="Store" class="com.system.web.action" method="store"> <result name="input">sitecolumnEdit.jsp</result> <!-- 传动态参数siteid到List.action中,如果传静态参数siteid=%{siteid}改为siteid=定值 --> <result type="redirect">List.action?siteid=${siteid}</result>
[解决办法]
"如果是普通会员登录那就跳入bookAction中的main.jsp,如果是管理员登录那就跳入struts_book.xml中bookAction的manager.jsp"你这个直接在userAction中写不就行了,没明白为什么还要跑到bookAction中去。
"从struts_user.xml中的action转发到struts_book.xml的aciton,怎么指定方法名,就是我要调用BookAction中的list()方法,我该怎么做",你要调用BookAction中的list()方法,可以在UserAction写一个呀,然后调用bookService中的接口就行了,事务处理你难道放在action中的?
我的回答是按照我理解的问题回答的,我感觉自己好像没太理解你要表达的意思。
[解决办法]
http://download.csdn.net/detail/s478853630/4382009
建议你参考一下这个,或许更管用