就是在整合的时候,登录注册还要去加载页面上的数据,所以我写了一个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;
}
}
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;
}
}
解决方案 »
- 大家好,请各位帮忙看一看LR报26499错误
- j2ee范围中的有没有只要精通一门或者一个方面的技术就能拿到高薪的?
- 请JSF高手帮个忙..
- 在java中如何实现日期加上天数得到新日期?
- 请教ORACLE数据库中的一个SQL
- Tomact启动时出现错误。好心人帮帮忙!
- 在struts开发中,我想把formbean中的值在jsp页面中某个text控件中显示出来,请问怎么写
- hibernate返回的list为空
- 简单问题:用jsp开发网页,数据库用access需要安装哪些软件?
- 图片显示的问题(showModalDialog)
- 请教一道关于JSP页面上展示信息无法换行的问题
- jquery easyui treegrid 级联勾选和点击行不自动勾选checkbox
可以在返回的时候写上普通用户 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>
是这个意思?
"从struts_user.xml中的action转发到struts_book.xml的aciton,怎么指定方法名,就是我要调用BookAction中的list()方法,我该怎么做",你要调用BookAction中的list()方法,可以在UserAction写一个呀,然后调用bookService中的接口就行了,事务处理你难道放在action中的?
我的回答是按照我理解的问题回答的,我感觉自己好像没太理解你要表达的意思。
method="你的方法名"
建议你参考一下这个,或许更管用