`

struts2获取参数,解决乱码,跳转

阅读更多
Struts2获取参数,跳转,中文乱码
Struts2中获取参数
1..类ActionContext。可以将这个类看成是一个容器,实际上它是一个map,这个类封装了parameter , session,application,本地化信息。类中提供方法
getContext():用来获取ActionContext的对象
getParameters():获取传递过来的所有的参数,
getSession():这个方法实际上是获得session对象,但是struts2中对这个进行了再次 封装成map对象,map的key为session中的key,map的value为session 中的value。
getApplication():同session一样。获得application对象。
2.类ServletActionContext。这个类是ActionContext的子类。通过这个类的 
getRequest(),和getResponse()方法可以获得  HttpServletRequest和HttpServletResponse对象,有了request和response 就能够像struts1中获取其他的任何对象了。

3.通过属性直接填充
在struts1中能够通过form直接填充。在struts2中更加直接简单,我们只需要在action处理类中加上属性 属性的名称和所获取form的元素名称一样即可实现填充。Struts2中还有一个特性,就是属性不需要手动进行保存到作用域中,它会将属性自动保存进request的作用域中。

4.属性赋值的第二种表现形式
我们用struts实现的三层都是用到了实体类,我们的目的是将数据保存进实体的JavaBean中然后进行操作,这里如果一个form可能出现上百个参数,如果每个属性都去写那将很繁琐也很浪费时间,所以我们可以直接在属性的位子放一个封装了所有属性的对象。然后在页面对这个对象进行填充,struts2会自动将这个对象放进 request的作用域中。




Struts中页面的跳转
Struts1中页面跳转是用一个forward标签在配置文件中配置即可,struts2和struts1大同小异,在Struts.xml文件的 <Action>标签的内部配置 <result name=”index”>/index.jsp</result> 当在action的处理方法中返回的是String类型的,这里如果想要跳转到根目录下的index.jsp页面中只需要返回  return “index” 即可。默认的跳转方式是转发,如果想把跳转方式改为重定向 则  <result name=”index” type=”redirect”>/index.jsp</result>

有时想从一个action方法中跳转到另一个action中 。假设类Test1 实现Action接口  , 类Test2 继承Actionsupport类,两者都是Action。   Test1中有 方法 execute.Test2中有function2.     两者间相互跳转如下:
Test1的execute  到 Test2的function2
<result name=”demo” type=”redirect”>
        Test2!function2.action
</result>

Test2的fucntion2到Test1的execute方法中
<result name=”demo” type=”chain”>
      Test1.action
</result>


中文乱码问题
在struts2中解决中文乱码问题非常简单。只需要在struts.xml中的<struts>的标签中添加 子标签    <contant  name=”struts.i18n.encoding”  value=”gbk”></contant>
在struts2中 可以在src目录下添加 名称为struts.properties的配置文件,可以将在struts.xml中的一些全局变量放在整合各配置文件中。比如可以将 上面的转换中文的代码放进 struts.properties文件中,在 struts.properties配置文件中的格式是 key=value.  所以可以将上面的代码   写成   struts.i18n.encoding=gbk    放进 资源文件中。



0
0
分享到:
评论

相关推荐

    开发Struts应用的步骤及中文乱码处理.doc

    以下将详细解释开发Struts应用的步骤以及解决中文乱码问题的方法。 1. **新建 Web Project** - 在IDE中创建一个新的Web项目,如在MyEclipse中选择"File→New→Web Project",然后根据项目需求配置相关设置。 2. *...

    Struts2 in Action 中文版

    我们可以推断出这是一段与《Struts2 in Action》中文版书籍相关的文字片段,尽管其中包含了一些无法直接理解的内容(可能是乱码或者是排版问题),但还是可以从中提取一些关键信息来构建关于Struts2的知识点。...

    Strutst2框架的总结

    20. **解决中文乱码问题**:确保页面编码一致,配置`struts.i18n.encoding`,自定义编码过滤器,或者在接收参数时手动转换编码。 21. **Struts2架构组件**:包括Struts2FilterDispatcher、ActionProxy、...

    struts2配置文件之result

    在Struts2框架中,`result`是一个非常重要的概念,它主要用于定义Action执行完成后页面的跳转规则。本文将深入探讨Struts2配置文件中`result`的配置方法及其不同的类型,并通过具体的代码示例来帮助读者更好地理解和...

    SpringMVC是Spring家族的一款专注于解决控制器层问题的框架技术,学习资料第一天

    在项目中,SpringMVC可以替代Struts2框架的功能,并且开发效率更高。SpringMVC天生提倡注解式开发。 二、控制器层解决的问题分析 控制器层解决的问题主要包括: * 接收客户端请求参数 * 进行数据类型的转换 * ...

    JAVA框架面试题汇总 (2).docx

    3. 数据存取方式:Struts2使用值栈和OGNL存取数据,SpringMVC通过参数解析器解析request内容。 **SpringMVC接受Form表单参数的形式** 1. 直接使用HttpServletRequest获取。 2. 自动将表单参数注入到方法参数,匹配...

    structs 2上传总结

    Struts2是一个流行的Java web框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。在本文中,我们将深入探讨如何在Struts2中实现文件的下载和上传功能。 首先,我们来看一下文件下载的部分。在提供的代码中...

    JAVA框架面试题汇总编程资料

    2. **GET请求**:解决GET请求中的中文乱码问题有两种方法: - 修改Tomcat服务器的配置文件`server.xml`,设置`URIEncoding`参数为`utf-8`。 ```xml ``` - 对GET请求参数进行编码转换,将`ISO-8859-1`编码转换...

    SSH实现步骤

    - `CharFilter`实现了`javax.servlet.Filter`接口,通过`init()`方法获取初始化参数,`doFilter()`方法设置请求和响应的字符编码。 以上就是SSH框架的基本配置和使用流程。在实际项目中,还需要考虑异常处理、国际...

    SSH项目的实现步骤.doc

    - 创建一个名为`CharFilter`的过滤器类,实现`Filter`接口,通过`init()`方法获取字符集参数,并在`doFilter()`方法中处理请求和响应的字符编码。 4. **建立entity包并生成实体类**:在Hibernate框架下,你需要...

    用Pager-taglib分页插件做个一个分页实例

    例如,如果你使用的是Spring MVC或Struts2框架,可以在Controller中处理数据查询逻辑,然后将结果模型绑定到视图层,供JSP页面使用。 对于压缩包中的"jobinfo"文件,这可能是一个与工作信息相关的数据集。在上述...

    关于java设计的毕设答辩.doc

    Struts框架中,跳转是基于配置的Action和Result。 11. **异常处理**:Java中的异常处理通常有两种方式:一是使用`throws`关键字声明异常,二是使用`try-catch`语句块捕获并处理异常。 12. **数据库连接方式**:...

    SpringMVC面试题(2024最新版).docx

    **Spring MVC与其他框架的区别**,例如与Struts2: Spring MVC更灵活,支持更多的视图技术,且与Spring框架集成更紧密。Struts2则更注重Action概念,配置相对较多。 **处理请求方法**: - 重定向和转发可通过`...

    lifery6.1+cas初始化环境搭建及门户解决方案

    如果在控制台中出现乱码,可以尝试调整控制台编码或增加参数以确保正确显示中文字符。例如,在Tomcat的`bin/catalina.sh`(Linux/Unix系统)或`bin/catalina.bat`(Windows系统)中添加以下设置: ```sh JAVA_OPTS=...

    ec[s]d-1.0最完整版

    3. **参数封装**:提交的参数会自动注入到方法的参数中,开发者可直接获取,无需创建单独的Model类来存储接收的参数。 4. **字符集处理**:框架内置了对乱码问题的处理,确保数据在传输过程中不会出现编码问题。 5...

    jdbc+jsp实现简单员工管理系统.doc

    5. **对象封装**:将从请求中获取的参数值(如`empno`, `ename`, `sal`, `hiredate`)封装到`Employee`对象中,便于调用DAO方法进行数据库操作。在示例代码中,使用`Integer.parseInt()`和`Double.parseDouble()`将...

    java经典面试题(附答案)

    getParameter()**:在Servlet中,`getAttribute()`用于获取request范围内的对象,通常用于转发请求时传递数据,而`getParameter()`用于获取HTTP请求参数,适用于链接跳转时传递参数。 3. **sendRedirect() vs. ...

Global site tag (gtag.js) - Google Analytics