在使用Strus2中遇到的一些问题

1.想用Struts2完成提示信息的操作,比如用户登录页面,登录成功提示“登陆成功”,失败则提示“用户名或密码错误,请重新输入”

  这个时候要考虑使用PrintWriter out = response.getWriter();

           out.println(<script>alert("登陆成功");</script>);

  但是此时,out.println()里可以写window.location.href="";即可以跳转,这时与Struts2里的注解跳转页面冲突,这两个只会执行一个,(能弹出信息就不会跳转,能跳转就不会弹出信息)(可以只使用out方法,但是我想用注解=-=)

  接下来考虑request

  Struts2中使用response、request、session的方法是:1.与Servlet API的解耦访问  2.与Servlet API的耦合访问方式

  我用的是第一种方式: Struts2框架对Servlet API中的HttpServletRequest、HttpSession和ServletContext进行了封装,构造了三个Map对象来替代这三种对象。可以利用com.opensymphony.xwork2.ActionContext类获取Servlet API对象对应的Map对象。
     *ActionContext是action执行的上下文。
     Map<String,Object> request=(Map<String,Object>)ActionContext.getContext().get("request");
     Map<String,Object> response=(Map<String,Object>)ActionContext.getContext().get("response");
     Map<String,Object> session=ActionContext.getContext().getSession();

  接下来就可以用request传递你要提示的信息了。

  if(flag==true)     //在这里犯了一个低级错误,在if里一定是双等号,要不就成了赋值了
        {
            request.put("msg", "登录成功");
            result = "success";
        }else {
            request.put("msg", "用户名或密码错误,请重新输入!");
        }

  然后在相对应的jsp页面里取值,

  var m = "${requestScope.msg}";  //这里好像加上了双引号就直接把object转成了字符串,我也不知道咋回事,但是可以正常运行
     alert(m);

2.继续上一个问题, object是不能直接alert()的,这时候需要把object转换为String(这个我没用过,研究好了再来说w(?Д?)w)

  var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

  var last=obj.toJSONString(); //将JSON对象转化为JSON字符  或者  var last=JSON.stringify(obj); //将JSON对象转化为JSON字符 
时间: 2024-09-30 22:45:11

在使用Strus2中遇到的一些问题的相关文章

strus2中获取表单数据 两种方式 属性驱动 和模型驱动

strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值* 如果一个属性在对象栈,在页面上可以根据name属性进行回显*/ /** * 属性驱动实现的条件:* 1.当前请求的action在栈顶,所以action中的属性就暴漏出来了* 2.获取页面上表单的元素,整合成一个map * 3.调用setValue方法赋值*/ 1 package cn.itcast.struts2.sh; 2 3

【SSH】---【Struts2、Hibernate5、Spring4】【散点知识】

一.Struts21.1.Struts2的概念Struts2是一个用来开发MVC应用程序的框架,它提供了Web应用程序开发过程中的一些常见问题的解决方案:    ->对来自用户的输入数据进行合法性验证:?    ->统一的布局:?    ->可扩展性:?    ->国际化和本地化:?    ->支持Ajax?    ->表单的重复提交?    ->文件的上传下载(文件上传中文件的类型不是普通类型,而是多媒体数据类型[*.txt.*.doc.*.xls等],由于表单

Struts2学习笔记(九):Strut2通用标签详解

本节主要介绍Strus2中的通用标签,主要有<s:url>, <s:set>, <s:push>, <s:if>, <s:elseif>, <s:else>, <s:iterator>, <s:sort>, <s:date>, <s:a>等几个标签的具体用法,仍然采用代码加注释的形式进行说明,希望能对大家有帮助. 刚入门的朋友阅读本文前,请阅读: Struts2学习笔记(六):值栈(va

Spring整合strus2简单应用总结

本身strus2没接触过,所以这块学的一知半解,正常不整合的还没学(接着学) step: 1.创建web工程 2.在/WEB-INF/lib引入jar包 asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcom.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopalliance-1.0.0.jarcom.springsource.org.aspectj.weaver-1.6.8.RELE

spring整合strus2的Hellowworld

比较笨,看了三遍才能理解敲对并正确运行: step: 1.建立web工程( Dynamic Web project)一定要勾上创建web.xml 2.导入jar包 这个就比较坑了,我查了有半个小时才查出来,我为啥一运行就报错404找不到资源 jar分两个位置引入: 1).正常位置引入lib: antlr-2.7.7.jaraopalliance-1.0.jaraspectjweaver-1.7.1.jarcommons-fileupload-1.2.2.jarcommons-logging-1.

java项目中可能会使用到的jar包解释

一.Struts2 用的版本是struts2.3.1.1 一个简单的Struts项目所需的jar包有如下8个 1. struts2-core-2.3.1.1.jar: Struts2的核心类库. 2. xwork-core-2.3.1.1.jar: XWork核心类,XWork是一个标准的command模式实现,并且完全从web层剥离出来.WebWork被构建在Xwork上,而Struts2由Struts1和WebWork两个经典的MVC框架发展而来. 3. ognl-3.0.3.jar: 支持

Java中常见的jar包的用途

jar包用途  axis.jar   SOAP引擎包  commons-discovery-0.2.jar   用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法.  jaxrpc.jar     Axis运行所需要的组件包  saaj.jar 创建到端点的点到点连接的方法.创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法.    wsdl4j-1.5.1.jar Axis运行所需要的组件包  activation.jar JAF框架的jar

java中最常用jar包的用途说明

java中最常用jar包的用途说明,适合初学者 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法. jaxrpc.jar Axis运行所需要的组件包 saaj.jar 创建到端点的点到点连接的方法.创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法.   wsdl4j-1.5.1.jar Axis运行所需要的组件包 activation.ja

strus2与spring3 mvc的差别

比较了一下strus2与spring3 mvc的差别: spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3mvc中,一个方法对应一个request上下文. 而struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入:struts2实际上是通过setter getter方法与request打交道的:struts2中,一个Action对象对应一个reque