struts2 action注解框架下,action传值的错误,说没返回值;求大神看图帮忙,在线等哈~

当前位置: >
> struts2action的方法和返回值类型问题记得书上和老师都说了,struts2的action
struts2action的方法和返回值类型问题记得书上和老师都说了,struts2的action
toughspoon & at
struts2 action的方法和返回值类型问题记得书上和老师都说了,struts2的action的方法有几个规则:
第一:不能接受参数
第二:返回值类型只能是String或者无返回值类型(void)
我一直牢牢记着,有次面试人家问我有几种返回值类型,我就说一种String.然后面试官没再说话,当时就觉得没对劲!
今天做struts2的文件下载,看了下,action里面的方法不是还能返回InputStream的么:
于是我就怀疑了是否还能返回其他类型的,是否能携带参数。于是我做了个实验:
struts2文件下载:
  public&InputStream&getDocumentInputStrame()&throws&FileNotFoundException{
String&downFilePathServletActionContext.getServletContext()
.getRealPath("/");//文件路径
&&&&&&&&&&&&&&&downloadFileName=tenderfile.getFilename();//文件名称
downloadFileName=this.getFileEcodingName(downloadFileName);//调用action的方法传入参数,对文件名称进行编码解码。
StringBuffer&sb=new&StringBuffer();
sb.append(downFilePath).append(downloadFileName);
File&file=new&File(sb.toString());
InputStream&in=new&FileInputStream(file);
return&//返回输入流
这里就是struts2文件下载的代码.下面是上面调用的getFileEcodingName()方法:
public&String&getFileEcodingName(String&downloadFileName)&{&
downloadFileName=new&String(downloadFileName.getBytes(),"ISO-8859-1");
}&catch&(UnsupportedEncodingException&e)&{
e.printStackTrace();
}&&&&&&&return&downloadFileN&
我的action&&extends&ActionSupport。
我运行了测试了,没有任何问题,方法也调用了编码也对了。
如果这样的话,岂不是和老师讲的违背了??
请大神指点下这到底是为什么
老师说的是execute方法的返回值只能为String吧。toupking & &
& & (0)(0)execute&方法返回String&,根据返回最后跳转,当然&strtus2&可以添加自己的方法/Toundol & &
& & (0)(0)
面试官问你的应该是result的类型吧
struts2常用返回值类型说明
chain&用户Action链式处理
dispatcher&用来整合JSP&是result元素type的默认值
freemarker&用来整合FreeMarker
httpheader&用来处理特殊的HTTP行为
redirect&用来重定向到其他的文件toukouhou & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-13:00:27【 转载互联网】 作者: &&|&责编:李强
&&& &为了解决用户可能碰到关于"解释Struts2.0框架中的validate()方法的返回值问题。"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"解释Struts2.0框架中的validate()方法的返回值问题。"相关的详细问题如下:解释Struts2.0框架中的validate()方法的返回值问题。===========突袭网收集的解决方案如下===========
解决方案1:truts2的validate没有返回值吧,如果不符合,如果有则返回input逻辑视图,struts2会根据是否有错误记录,则你调用addFieldError这些方法记录错误,它只是提供你对数据进行校验
================可能对您有帮助================
问:解释Struts2.0框架中的validate()方法的返回值问题。答:struts2的validate没有返回值吧,它只是提供你对数据进行校验,如果不符合,则你调用addFieldError这些方法记录错误,struts2会根据是否有错误记录,如果有则返回input逻辑视图,如果没则返回execute的返回值===========================================问:看了两个Struts2.0的案例程序。 一个是action类只继承了ActionSupport ...答:前一个是传的属性,后一个是传的封装了属性的类,所以必须去实现ModelDriven这个借口!===========================================问:没用spring整合时,是没问题的,struts2.0和spring整合后,页面提交第一...答:这个是由于struts2中的action是有状态的。 在struts1中,form与action是分开的,也就是说在struts1中的action中是没有属性的,是无状态的。但在struts2中,action中是有属性的(其实struts1与struts2没什么关系),所以struts2是有状态的。所以...===========================================问:用struts框架时,一个注册页面的提交,不是要经过一个特殊的"servlet"吗? ...答:那个特殊的servlet叫ActionServlet,充当中央控制器作用,所有的*.do路径都首先被转发到这个servlet进行处理,然后由它去找struts-config.xml中的action-mapping来匹配对应于此路径的action来处理... 至于此servlet在哪...当然在struts.jar这个类库...===========================================问:仅Struts 2.0框架 在action里有一个List&Map& (或者Map) 是从数据库里...答:action里边这么写: request.setAttribute("listname",list);其中listname为自定义的名字,list为你查出来的集合 jsp里边这么接收: variableName 为变量名称 支持多行数据的提取===========================================问:struts.xml &?xml version="1.0" encoding="UTF-8" ?& &!DOCTYPE struts...答:web.xml有没有写下面的代码 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* ===========================================问:最近学的是struts框架,当我点击完add.jsp的提交按钮后,地址栏马上跳到...答:web.xml里可以找到的。它是给Struts的ActionServlet配置的截取url的条件模式。只要满足*.do的url请求都会被servlet截龋如你说的情况,说明你的add.jsp页面提交按钮所在的表单form的action一定是是这样的配置吧 action="add.do" 等你理解了Struts...===========================================问:&result-types& &result-type name="dispatcher" class="com.duxiu.modl...答:Struts2提供了对不同种类返回结果的支持,如jsp、freemark、velocity;struts2提供不同类型的返回结果:如FreeMarker Result用来处理freemarker模板、Dispatcher Result用来转向页面,通常处理JSP、还有Redirect Result重定向到一个URL等等,所...===========================================问:&result-types& &result-type name="dispatcher" class="com.duxiu.modl...答:Struts2.0是源自于Webwork的一个MVC框架,也就是Model(模型)、View(视图)、Controller(控制器)框架,从字面上可以看出来它既有控制层的逻辑,也有表现层的逻辑,它的侧重点是View层和Controller层,而Model层则主要通过集成第三方业务框架...===========================================jsp如何获取struts2 action中返回的对象的值_百度知道
jsp如何获取struts2 action中返回的对象的值
提问者采纳
如果想将struts2 action中的某个对象,链表或是字符串传到jsp页面,只需在action中定义这个对象,链表或字符串,然后生成get,set方法。这样页面就顶厂侈断侬登畴券川猾可以获取了。例如:public class LoginAction extends ActionSupport{private U // 对象private S // 字符串public List list = new LinkedList();// 链表public User getUser() {} public void setUser(User user) {this.user =} public String getUsername() {} public void setUsername(String username) {this.username =} public List getList() {this.list =}}1、jsp页面获取字符串的方法&s:property value=&message&/& message:字符串名称,必须与action中保持一致2、jsp页面获取链表中值得方法,一般list中都是存放的从数据库取出来的对象。取值如下:&s:iterator value=&list& status=&st&& list:链表名称必须与action中一致 &s:property value=&username&/& 即可获取到list中user对象的username属性的值。&/s:iterator&3.jsp页面获取对象中的属性值,无论做修改还是查详情,都需要将取出的对象属性值显示在页面上。操作如下:&s:property value='user.state' /& user:对象名称;state:对象属性。必须与User类中保持一致。
其他类似问题
struts2的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Jquery 请求Struts2 Action 返回JSON对象 回调函数不执行,无法解析JSON数据
[问题点数:40分,无满意结帖,结帖人Memery_last]
Jquery 请求Struts2 Action 返回JSON对象 回调函数不执行,无法解析JSON数据
[问题点数:40分,无满意结帖,结帖人Memery_last]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年3月 总版技术专家分月排行榜第二
2014年2月 Java大版内专家分月排行榜第一2013年8月 Java大版内专家分月排行榜第一2013年5月 Java大版内专家分月排行榜第一2013年4月 Java大版内专家分月排行榜第一2013年3月 Java大版内专家分月排行榜第一2013年2月 Java大版内专家分月排行榜第一
2013年3月 总版技术专家分月排行榜第二
2014年2月 Java大版内专家分月排行榜第一2013年8月 Java大版内专家分月排行榜第一2013年5月 Java大版内专家分月排行榜第一2013年4月 Java大版内专家分月排行榜第一2013年3月 Java大版内专家分月排行榜第一2013年2月 Java大版内专家分月排行榜第一
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。1235人阅读
struts2中的Action接收表单传递过来的参数有几种方法:
传统的做法如,登陆表单login.jsp:
&form action=&login& method=&post& name=&form1&&
用户名:&s:textfield name=&username&/&&br/&
密 码:&s:password name=&password&/&&br/&
&s:submit value=&提交&/&
1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数.
这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。
2.把表单传递过来的参数封装成一个类,然后调用其中的属性.
如,把login.jsp页面要传来的参数进行封装
public String getUsername() {
public void setUsername(String username) {
this.username =
public String getPassword() {
public void setPassword(String password) {
this.password =
}然后再Action方法中,定义该类的对象就可以了,如
public class loginAction extends ActionSupport{
public Users getUsers(){
public void setUsers(Users users){
this.users=
传递过来的参数都封装在users中了,用getter方法取值就可以了
通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样:
登陆表单login.jsp:
&form action=&login& method=&post& name=&form1&&
用户名:&s:textfield name=&users.username&/&&br/&
密 码:&s:password name=&users.password&/&&br/&
&s:submit value=&提交&/&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:37129次
排名:千里之外
原创:30篇
评论:48条
(1)(3)(2)(3)(2)(2)(1)(2)(3)(5)(5)(2)}

我要回帖

更多关于 struts2 action配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信