网上找了攻略,但是出现一个不曾提到的问题.
第一个action:
public String findNameAndPwd(){
String url="";
String usersname=users.getUsername();
List<Users> list=this.usersBiz.findObjectByName(usersname);
System.out.println(list.get(0).getPassword());
for(int i=0;i<list.size();i++){
if(users.getPassword().equals(list.get(i).getPassword())){
System.out.println(usersname);
request.getSession().setAttribute("usersname", usersname);
url=SUCCESS;
}
}
return url;
}
在struts.xml中路径的配置
<action name="users" class="UsersAction">
<result name="success" type="redirect">/groupusers!findByUserByName.action?username=${usersname}</result>
<result name="cjgly">/users/admins.jsp</result>
<result name="gly">/users/users.jsp</result>
<result name="gjyh">/assigned/index_ass.jsp</result>
<result name="zjyh">/notices/notices.jsp</result>
<result name="ptyh">/Tack/index.jsp</result>
</action>
成功的跳转到第二个action,但是${usersname}为空.就是${usersname}取不到第一个action中,
request.getSession().setAttribute("usersname", usersname);所传送的值!
求指点!
第一个action:
public String findNameAndPwd(){
String url="";
String usersname=users.getUsername();
List<Users> list=this.usersBiz.findObjectByName(usersname);
System.out.println(list.get(0).getPassword());
for(int i=0;i<list.size();i++){
if(users.getPassword().equals(list.get(i).getPassword())){
System.out.println(usersname);
request.getSession().setAttribute("usersname", usersname);
url=SUCCESS;
}
}
return url;
}
在struts.xml中路径的配置
<action name="users" class="UsersAction">
<result name="success" type="redirect">/groupusers!findByUserByName.action?username=${usersname}</result>
<result name="cjgly">/users/admins.jsp</result>
<result name="gly">/users/users.jsp</result>
<result name="gjyh">/assigned/index_ass.jsp</result>
<result name="zjyh">/notices/notices.jsp</result>
<result name="ptyh">/Tack/index.jsp</result>
</action>
成功的跳转到第二个action,但是${usersname}为空.就是${usersname}取不到第一个action中,
request.getSession().setAttribute("usersname", usersname);所传送的值!
求指点!
解决方案 »
- 如何学好Java
- 怎样才能学好JaVA
- Tomcat5.5 内存问题
- 救命啊,哪位大虾知道oc4j的问题...在线等!!!!!!
- 为什么过滤器不能被调用?不知是哪骤错了,我是在struts中用的
- 高分100求struts和orcale的数据库应用实例或者资料!
- J2EE中使用Weblogic7配置数据库连接池的问题,在“Targets”选项卡中中,将Server从左侧移到右侧列表,单击[Apply]按钮,第依次出现错误
- Java中获取系统信息
- 关于ejb的小问题?
- Spring3.1+springmvc3.1+hibernate3.5 注解 Unknown entity
- 请教一下ibatis配置链接池的问题
- 请问这个是什么错误
把username放到session中了,那么你在所有的action中都可以通过
request.getSession().getAttribute("usersname");来获取撒,何必还拼url呢?
如何在第二个action中取到这个值呢?如果不把usersname放到session空间中,怎么把usersname值传递到struts.xml中去凭借url呢?
<action name="ParseXml" class="com.demo.TestXml" method="ParseXml">
<result name="success" type="chain">
<param name="actionName">TeString</param>
<param name="message">${message}</param>
</result>
</action>这样第二个action肯定能取到,测试没有问题。
<result name="success" type="redirect">/groupusers!findByUserByName.action?username=${usersname}</result>
路径中的${usersname}从哪里得到的?
第一个action该怎么写呢?
第二种拼接字符串的方法需要
1、在add.jsp页面中<input type="hidden" name="newsId" id="newsId" value="612"/>2、提交跳转到的action类中需要添加
private Long newsId;
public Long getNewsId() {
return newsId;
}
public void setNewsId(Long newsId) {
this.newsId = newsId;
}
3、在跳转配置struts.xml文件中可以得到newsId的值
<result name="xiangguanAdd" type="redirect">news/tantaoXiangguan.action?id=${newsId}</result>
4、可以在跳转的tantaoXiangguan类中得到值
getParameter("id");
总结:要传递数值在action类中必须要有get set方法。
才能正确传值。
多谢各位的帮助,结贴了!