自己练习写的例子!

struts.xml :

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
  3. <struts>
  4. <package name="struts2demo" extends="struts-default">
  5. <action name="myaction" class="com.MyAction">
  6. <result name="success">/test.jsp</result>
  7. </action>
  8. </package>
  9. </struts>

Action 页面 MyAction.java:

  1. package com;
  2. import java.io.UnsupportedEncodingException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import javax.servlet.http.HttpServletRequest;
  6. import org.apache.struts2.ServletActionContext;
  7. import com.opensymphony.xwork2.ActionSupport;
  8. public class MyAction extends ActionSupport{
  9. /**
  10. *
  11. */
  12. private static final long serialVersionUID = 1L;
  13. private String text;
  14. public String getText() {
  15. return text;
  16. }
  17. public void setText(String text) {
  18. this.text = text;
  19. }
  20. public String execute(){
  21. List<A> list = new ArrayList<A>();
  22. list.add(new A("1"));
  23. list.add(new A("2"));
  24. list.add(new A("3"));
  25. list.add(new A("4"));
  26. list.add(new A("5"));
  27. HttpServletRequest request = ServletActionContext.getRequest();
  28. try {
  29. request.setCharacterEncoding("UTF-8");
  30. } catch (UnsupportedEncodingException e) {
  31. // TODO Auto-generated catch block
  32. e.printStackTrace();
  33. }
  34. request.setAttribute("forlist",list);
  35. request.setAttribute("strChina",ChinesePinyinInitials.getPYString(this.text));
  36. this.Action(this.text);
  37. return SUCCESS;
  38. }
  39. public void Action(String str){
  40. System.out.println("******************************************************************");
  41. System.out.println(ChinesePinyinInitials.getPYString(str));
  42. }
  43. }
  44. class A{
  45. public String name;
  46. public String getName() {
  47. return name;
  48. }
  49. public void setName(String name) {
  50. this.name = name;
  51. }
  52. public A(String name) {
  53. super();
  54. this.name = name;
  55. }
  56. public A() {
  57. super();
  58. }
  59. }

index.jsp 页面 点击 转换按钮 会跳转到test.jsp :

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <%@ taglib prefix="s" uri="/struts-tags"%>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6. %>
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8. <html>
  9. <head>
  10. <base href="<%=basePath%>">
  11. <title>My JSP 'index.jsp' starting page</title>
  12. <meta http-equiv="pragma" content="no-cache">
  13. <meta http-equiv="cache-control" content="no-cache">
  14. <meta http-equiv="expires" content="0">
  15. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  16. <meta http-equiv="description" content="This is my page">
  17. <!--
  18. <link rel="stylesheet" type="text/css" href="styles.css">
  19. -->
  20. </head>
  21. <body>
  22. <s:form action="myaction.action">
  23. <s:textfield name="text" label="中文"/>
  24. <s:submit value="转换"/>
  25. </s:form>
  26. </body>
  27. </html>

test.jsp 页面 循环输出了forlist中的数据 index页面中输入的 中文 转义成了 英文首字母

  1. <%@ page language="java" pageEncoding="utf-8"%>
  2. <%@ taglib prefix="s" uri="/struts-tags"%>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6. request.setCharacterEncoding("UTF-8");
  7. Object list=request.getAttribute("forlist");
  8. Object str=request.getAttribute("strChina");
  9. %>
  10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11. <html>
  12. <head>
  13. <title>test.jsp</title>
  14. <meta http-equiv="pragma" content="no-cache">
  15. <meta http-equiv="cache-control" content="no-cache">
  16. <meta http-equiv="expires" content="0">
  17. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18. <meta http-equiv="description" content="This is my page">
  19. <!--
  20. <link rel="stylesheet" type="text/css" href="styles.css">
  21. -->
  22. </head>
  23. <body>
  24. <s:iterator value="#request.forlist">
  25. <s:property value="name" /><br/>
  26. </s:iterator>
  27. <%=str %>
  28. </body>
  29. </html>

源码上传不上来。。上传到51CTO下载中心了 http://down.51cto.com/data/756412

转载于:https://blog.51cto.com/brucezhang51/1181256

struts2 配置 自学练习 list jsp页输出 中文转英文首字母相关推荐

  1. jsp正则表达式:支持中文、英文大小字母、英文下划线“_“、英文横线“-“和数字

    某平台规范:name支持中文.英文大小字母.英文下划线"_".英文横线"-"和数字. 我用jsp正则表达式test函数,发现只能检验字符串中含有这几类字符,但是 ...

  2. JS输出26个英文大小写字母

    JS中可以利用ASCII值 for(var i=0;i<26;i++){ console.log(String.fromCharCode(65+i));//输出A-Z 26个大写字母 } for ...

  3. Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。 Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照...

    2019独角兽企业重金招聘Python工程师标准>>> Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考 ...

  4. Struts2配置struts.xml文件

    Struts2配置struts.xml文件 Struts2框架的核心配置文件是struts.xml文件 该文件,主要用来配置Action和请求的对应关系,以及配置逻辑视图和物理视图资源的对应关系 st ...

  5. java 拦截指定jsp_详解Struts2中对未登录jsp页面实现拦截功能

    struts2中拦截器大家都很经常使用,但是拦截器只能拦截action不能拦截jsp页面.这个时候就有点尴尬了,按道理来说没登录的用户只能看login界面不能够通过输入url进行界面跳转,这显然是不合 ...

  6. java配置struts2_[Java教程]struts2配置

    [Java教程]struts2配置 0 2017-03-14 00:00:28 一.先导入jar包 先解压个空白的项目,从里面复制jar包 二.导完jar包后,需要配置struts. 1.导入web. ...

  7. 只要可能,就缓存数据和页输出

    ASP.NET 提供了一些简单的机制,它们会在不需要为每个页请求动态计算页输出或数据时缓存这些页输出或数据.另外,通过设计要进行缓存的页和数据请求(特别是在站点中预期将有较大通讯量的区域),可以优化这 ...

  8. 我的配置(vc可以禁止控制台输出)

    工程配置..可以禁用控制台输出又可以用入口main: /nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG&quo ...

  9. MyEclipse下Struts2配置使用和Ajax、JSON的配合

    原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合  By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...

最新文章

  1. PCE:南农沈其荣团队根系分泌物驱动土壤-微生物-养分之间的反馈作用以响应植物的生长...
  2. 【Linux 内核】进程优先级与调度策略 ③ ( 设置、获取线程优先级的核心函数 | 修改线程调度策略函数 )
  3. java定义时间格式大全_Java时间格式转换大全
  4. C语言 指针在函数传参中的使用
  5. 每天一道LeetCode-----计算从二维数组的左上角到达右下角的所有路径数及最短的那条,如果存在障碍物时又是多少
  6. javascript中的后退和刷新
  7. Java最佳实践–多线程环境中的DateFormat
  8. 功成身退:AMD Mantle不再优化了
  9. linux ojvm补丁安装,打补丁PSU
  10. maven下设置默认jdk版本和maven项目构建默认使用jdk版本
  11. button点击事件不响应的解决方法(子视图大小超过父视图)
  12. 背景图(css sprite)尺寸设置,DIPS,设备像素比,Retina,,border 1px问题
  13. 洋葱细胞数字全息显微实验演示
  14. 基于 WebGL 3D 的 HTML5档案馆可视化管理系统
  15. 坐标转换-大地坐标系与空间直角坐标系(附软件下载)
  16. 如何通过组织管理提升团队战斗力?每个CTO都需要了解的三大支柱
  17. Python从放弃到入门,公众号历史文章爬取成pdf的项目实践与自主学习法
  18. ViewModel 和 ViewModelProvider.Factory:ViewModel 的创建者
  19. python短信验证码_Python如何实现手机验证码
  20. DTFT、DFS、DFT和FFT的关系 离散数字信号处理 数字角频率和模拟角频率

热门文章

  1. Office 程序默认打开方式
  2. 使用 ADO 向数据库中存储一张图片
  3. LINUX SAN 500G重新分区、格式化,后成功恢复数据90%
  4. 问题三十六:ray tracing中的Inverse Mapping(5)——圆锥面Inverse Mapping
  5. 左边工具栏 隐藏_203 【Ps基础】 工具栏
  6. SparkSQL实践
  7. 处理大数据需要哪些技术
  8. 数据分析数据挖掘(五)
  9. 学习C++项目——一个基于C++11简单易用的轻量级网络编程框架 1
  10. python中seek(10、1)_Python中index()和seek()的用法(详解)