真心求教 strus的一个小问题
时间:2014-03-17
来源:互联网
大家好,想请问一个关於struts bean:define 的问题
但如果把toscope设为 request的话,servlet就出现 null (当然已经改为 (String)request.getAttribute("bean1");)
想请问是不是出了什么问题?还是toscope里不可以用request????
谢谢
引用:<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<h2>Login</h2>
<br>
<html:messages id="msg" message="false">
<bean:write name="msg"/>
</html:messages>
<br>
<bean:define id="bean1" value="bean" toScope="session"/>
<html:form action="/pwlookup" >
<html:text property="password"/><br>
<html:text property="url"/>
<html:submit property="function" value="password"/>
<html:submit property="function" value="url"/>
</html:form>
<br>
<a href="fwaction.do">ForwardAction</a>
<br><font color="red" ><html:errors /></font>
</body>
</html>
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<h2>Login</h2>
<br>
<html:messages id="msg" message="false">
<bean:write name="msg"/>
</html:messages>
<br>
<bean:define id="bean1" value="bean" toScope="session"/>
<html:form action="/pwlookup" >
<html:text property="password"/><br>
<html:text property="url"/>
<html:submit property="function" value="password"/>
<html:submit property="function" value="url"/>
</html:form>
<br>
<a href="fwaction.do">ForwardAction</a>
<br><font color="red" ><html:errors /></font>
</body>
</html>
引用:package samples.others;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
import org.apache.struts.validator.DynaValidatorForm;
public class PasswordLookupDispatch extends LookupDispatchAction {
@Override
protected Map<String, String> getKeyMethodMap() {
Map<String, String> map= new HashMap<String,String>();
map.put("input.pw", "addPassword");
map.put("input.url", "addUrl");
return map;
}
public ActionForward addPassword(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DynaValidatorForm passwordForm = (DynaValidatorForm)form;
ActionErrors errors = new ActionErrors();
if(passwordForm.getString("password").equals("leo")){
errors.add("password", new ActionMessage("errors.pw"));
saveErrors(request, errors);
}
System.out.println(passwordForm.getString("password"));
//response.getWriter().println("ADD PASSWORD");
return mapping.findForward("success");
}
public ActionForward addUrl(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String str = (String)request.getSession().getAttribute("bean1");
response.getWriter().println(str);
response.getWriter().println("ADD URL");
return null;
}
}
如果bean define的toScope 是session的话,在servlet里面就可以得到jsp中设定的讯息;import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
import org.apache.struts.validator.DynaValidatorForm;
public class PasswordLookupDispatch extends LookupDispatchAction {
@Override
protected Map<String, String> getKeyMethodMap() {
Map<String, String> map= new HashMap<String,String>();
map.put("input.pw", "addPassword");
map.put("input.url", "addUrl");
return map;
}
public ActionForward addPassword(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DynaValidatorForm passwordForm = (DynaValidatorForm)form;
ActionErrors errors = new ActionErrors();
if(passwordForm.getString("password").equals("leo")){
errors.add("password", new ActionMessage("errors.pw"));
saveErrors(request, errors);
}
System.out.println(passwordForm.getString("password"));
//response.getWriter().println("ADD PASSWORD");
return mapping.findForward("success");
}
public ActionForward addUrl(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String str = (String)request.getSession().getAttribute("bean1");
response.getWriter().println(str);
response.getWriter().println("ADD URL");
return null;
}
}
但如果把toscope设为 request的话,servlet就出现 null (当然已经改为 (String)request.getAttribute("bean1");)
想请问是不是出了什么问题?还是toscope里不可以用request????
谢谢
作者: sense2000 发布时间: 2014-03-17
Action 同 view 好似系两条路嚟喎?
Dispatcher -> either action or view
上一个 request 既 view 内 define 的 request bean 何从出现喺今个 request 中 action 的 request scope?
咁写法 session 系 work 的因为 cross request.
Dispatcher -> either action or view
上一个 request 既 view 内 define 的 request bean 何从出现喺今个 request 中 action 的 request scope?
咁写法 session 系 work 的因为 cross request.
引用:原帖由 sense2000 於 2014-2-20 07:54 发表
大家好,想请问一个关於struts bean:define 的问题
如果bean define的toScope 是session的话,在servlet里面就可以得到jsp中设定的讯息;
但如果把toscope设为 request的话,servlet就出现 null (当然已 ...
大家好,想请问一个关於struts bean:define 的问题
如果bean define的toScope 是session的话,在servlet里面就可以得到jsp中设定的讯息;
但如果把toscope设为 request的话,servlet就出现 null (当然已 ...
作者: a8d7e8 发布时间: 2014-03-17
多谢师兄解答
这样理解不知道有没有问题?
当submit了url时候就同时出现两条request
a .jsp中的bean define做出来的bean。> 由於request完结,这个bean就死左(不知到是先出现这个request?又或是根本没有出现这个request?);
b 。jsp中的url的submit button > action > 由於a的request已经结束,所以就null。
但如果是session的话,只要browser不关掉,资料依然保存,所以就可以在action拿到资料了。
谢谢~~~
这样理解不知道有没有问题?
当submit了url时候就同时出现两条request
a .jsp中的bean define做出来的bean。> 由於request完结,这个bean就死左(不知到是先出现这个request?又或是根本没有出现这个request?);
b 。jsp中的url的submit button > action > 由於a的request已经结束,所以就null。
但如果是session的话,只要browser不关掉,资料依然保存,所以就可以在action拿到资料了。
谢谢~~~
作者: sense2000 发布时间: 2014-03-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28