【Struts2六】ui标签之form标签及数据回显

2023-11-11

ui标签:用在jsp页面用于回显数据的标签,这些标签是由框架定义的,用来替代原生的标签!
ui标签有:
  • <s:textfield name="xxx"></s:textfield>
  • <s:password name="xxx" showPassword="trus"></s:password>
  • <s:select name="xxx" list="xx" listKey=..  listValue=..  headerValue=..><s/select>
  • <s:checkboxlist list= "#pList" name="pid"  listKey="pid"  listValue="pname" ></s:checkboxlist>
需要回显的数据要放在valueStack中,可以放在map栈中,也可以放在对象栈中;
放对象栈中有两种情况:
一是将数据封装成bean,将bean放在对象栈中;
二是给action设置属性,action的属性就在对象栈中;
1.Action中放入数据:

 public class UIAction extends ActionSupport{
      private  String username;
      private  String password;
      public  String getUsername() {
            return username ;
     }
      public  void setUsername(String username) {
            this.username = username;
     }
      public  String getPassword() {
            return password ;
     }
      public  void setPassword(String password) {
            this.password = password;
     }
      /**
      * 1.在表单中回显数据:数据位于对象栈中,直接根据表单元素的name数据就可以回显!
      *        用户名:<s:textfield name="username"></s:textfield><br/>
              密码:<s:password name="password" showPassword="true"></s:password><br/>
      *  @return
      */
      public  String showDataFromObjStack(){
          User user =  new User();
          user.setPassword(  "aaa");
          user.setUsername(  "bbb");
          ActionContext. getContext().getValueStack().push(user);
            return "user_objstack" ;
     }
      /**
      * 从map栈中回显数据,s:textfield的value属性不能直接跟 ognl表达式,所以需要加%{ ognl表达式}
      *
      *        用户名:<s:textfield name=" username" value="%{#user.username}"></s:textfield><br/>
              密码:  <s:password name="password" showPassword="true" value="%{#user.password}"></s:password><br/>
      *  @return
      *
      */
      public  String showDataFromMap(){
          User user =  new User();
          user.setPassword(  "111");
          user.setUsername(  "zhangsan");
          ActionContext. getContext().put( "user" , user);
            return "user_map" ;
     }
      /**
      * Action中的属性位于对象栈中,在回显时可以直接使用value来回显:
      *        用户名:<s:textfield name="username"></s:textfield><br/>
              密码:  <s:password name="password" showPassword="true" ></s:password><br/>
      *  @return
      */
      public  String showDataFromActionProperty(){
            this.username = "lisi" ;
            this.password = "asfd" ;
            return "user_actionproperty" ;
     }
     
      /**
      * 使用s:select标签来显示下拉选择框,必须有list属性;
      * jsp:选择省份:<s:select name=" pid" list="#pList" listKey="pid" listValue="pname" headerKey="" headerValue="请选择省份"></s:select> <br/>
      * 翻译后的代码:
      *  选择省份:
              <select id="uiAction_form_action_pid" name="pid">
                   <option value="">请选择省份  </option>
                   <option value="1">北京市  </option>
                   <option value="2">上海市  </option>
                   <option value="3">重庆市  </option>
                </select>
      *  @return
      */
      public  String putDataToSelect(){
          List<Privice> pList =  new ArrayList<Privice>();
          Privice privice1 =  new Privice();
          privice1.setPid(1L);
          privice1.setPname(  "北京市");
          
          Privice privice2 =  new Privice();
          privice2.setPid(2L);
          privice2.setPname(  "上海市");
          
          Privice privice3 =  new Privice();
          privice3.setPid(3L);
          privice3.setPname(  "重庆市");
          
          pList.add(privice1);
          pList.add(privice2);
          pList.add(privice3);
          
            //放在map栈中;
          ActionContext. getContext().put( "pList" , pList);
          
            return "select_map" ;
     }
}
2.配置文件:struts-ui.xml:
<? xml  version= "1.0" encoding ="UTF-8" ?>
<! DOCTYPE  struts PUBLIC
     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     "http://struts.apache.org/dtds/struts-2.0.dtd">
< struts >
      < package  name="ui"  namespace="/" extends="struts-default" >
            <action name= "uiAction_*" method ="{1}" class="cn.itheima03.struts2.ui.UIAction" >
                <result name="user_objstack" >ui/ui.jsp</ result>
                <result name= "user_map">ui/ui.jsp </result>
                <result name="user_actionproperty" >ui/ui.jsp</ result>
                <result name="select_map" >ui/ui.jsp</ result>
            </action>
      </ package  >
</ struts >
2.jsp页面利用struts标签回显数据:
   在jsp页面引用ui标签时,要加上:
<%@  taglib uri="/struts-tags" prefix="s"%>
<%@  page language="java" import= "java.util.*" pageEncoding="UTF-8" %>
<%@  taglib uri="/struts-tags" prefix= "s"%>
<! DOCTYPE  HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html >
   <body >
            <s:form action= "uiAction_form.action">
                <!--
                   cssClass相当于 html标签中的class
               -->
              
              用户名:  <s:textfield name="username" ></s:textfield>< br/>
              密码:   <s:password name= "password" showPassword="true" ></s:password ><br/>
                <!--
                   list是select填充数据的来源
                   list后面能直接跟 ognl表达式
                   listKey是option中value的值
                   listValue是要显示的值
                   headerValue顶部要显示的内容
               -->
              
                <!-- s:select标签 -->
              选择省份:  <s:select name= "pid" list="#pList" listKey="pid" listValue="pname" headerKey="" headerValue= "请选择省份" ></s:select>< br/>
              
                <!-- checkboxlist 标签 -->
              省份:  <s:checkboxlist list= "#pList" name="pid" listKey="pid" listValue="pname" ></s:checkboxlist>
            </s:form>
   </body >
</ html >

效果图:
翻译过后的源代码:
<body>
<form id="uiAction_form_action" method="post" action="/itheima03_struts2/uiAction_form.action" name="uiAction_form_action">
用户名:
<input id="uiAction_form_action_username" type="text" value="" name="username">
<br>
密码:
<input id="uiAction_form_action_password" type="password" value="" name="password">
<br>
选择省份:
<select id="uiAction_form_action_pid" name="pid">
<option value="">请选择省份</option>
<option value="1">北京市</option>
<option value="2">上海市</option>
<option value="3">重庆市</option>
</select>
<br>
  省份:
<input id="pid-1" type="checkbox" value="1" name="pid">
<label class="checkboxLabel" for="pid-1">北京市</label>
<input id="pid-2" type="checkbox" value="2" name="pid">
<label class="checkboxLabel" for="pid-2">上海市</label>
<input id="pid-3" type="checkbox" value="3" name="pid">
<label class="checkboxLabel" for="pid-3">重庆市</label>
<input id="__multiselect_uiAction_form_action_pid" type="hidden" value="" name="__multiselect_pid">
</form>
</body>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Struts2六】ui标签之form标签及数据回显 的相关文章

  • 更新对象属性

    我正在使用 Struts 2 我的问题是我不想更新所有对象属性 因为我得到了一些敏感数据 这是我的代码示例 public class person private name private email private password 例如
  • JSP/Servlet如何识别HTTP请求是否来自ajax请求

    我正在为我的 Web 应用程序使用 JQuery Ajax 和 History js 我是否可以识别请求是来自 AJAX 请求还是来自普通请求 我的目标是这样的
  • 安全地向 RESTFUL API 提供凭据

    我创建了一个 RESTful 服务器应用程序 它可以在有用的 URL 例如 www site com get someinfo 上处理请求并提供服务 它是在春天建造的 但是 这些访问受密码保护 我现在正在构建一个客户端应用程序 它将连接到这
  • 使用struts 2表单标签编辑对象的ArrayList

    我有 2 节课 Student and Course 两者都在其内部的属性上定义了所有 getter 和 setter 我尝试使用这两个类构建一个具有通用功能的 Web 应用程序 例如在不同的 jsp 页面中编辑和添加学生 我的学生可以注册
  • Tomcat 7 对已修改/不存在的资源返回“304 Not Modified”

    我正在开发一个在 Struts2 和 Tomcat 7 0 42 上运行的 Web 应用程序 我写了一个动态生成jsp文件的action 生成的 jsp 其中包含一些图像引用 并创建包含图像的关联 files 文件夹 该操作在另一个页面中调
  • Struts 2下载-如何动态配置文件名?

    我正在开发一个应用程序 人们可以将所需的文件从数据库中提到的位置下载到本地 我正在使用 struts 2 从服务器下载文件 我可以毫无例外地下载该文件 并且运行完美 但是下载的文件具有我在 struts xml 中指定的文件名 我希望它是正
  • Struts 2 和 Spring with EL - 打印变量有哪些不同类型[重复]

    这个问题在这里已经有答案了 显然我对 EL 特别是 Struts 2 还很陌生 我正在更新当前的代码 并且看到不同类型的条目 有什么不同
  • Struts2如何在页面之间导航时保​​留表单值?

    我的项目使用的是 struts2 spring3 请帮我解决这个问题 在我的应用程序中 a jsp 与 gt aAction java 相关 从主菜单 用户可以访问a jsp a jsp 中有很多字段 用户需要键入数据 在页面中间 用户需要
  • JavaScript 中的 Struts2 标签

    我正在使用 struts2 进行一个项目 我有一个带有 bootstrap 动态表的 jsp 页面 当我尝试添加仅包含文本字段的行时 它工作得很好
  • 如何在 Struts 2 验证框架中验证布尔值

    简单 我必须确保选中表单上的隐私复选框 我尝试使用表达式验证器 和字段表达式验证器 但它不起作用 有谁能够帮助我 您能提供更多信息吗 您是如何使用表达式验证器的 为什么它不起作用 看来这种方法应该很好用 需要考虑一些事情 您的布尔值是否同时
  • Struts 2 中的 HTTP Referer 标头

    Struts2下如何获取Referer header 现在我正在使用 ActionSupport 类 但我似乎无法获取 ServletActionContext 对象或实现 ServletRequestAware 接口 Struts2中的S
  • 如何将 Struts 2 与 Tiles 3 集成

    我们如何将 Struts 2 与 Tiles 3 集成 struts2 tiles plugin 当前 2 3 4 1 可与旧版本的tile 2 0 6 版 配合使用 这可能有点麻烦 这是一个自我回答 帮助他人融入 解决方案是添加所需的依赖
  • 为什么 jsp 会触发 PropertyNotFound?

    在JSP中编写 a b c 抛出 c PropertyNotFound 但写入
  • 使用 Struts 2.2.x 的简单 JSON 示例?

    我在获取 JSON 结果时遇到问题支柱2 2 1 1 http struts apache org 2 2 1 1 index html 有没有人有一个简单的工作示例 可以使用以下命令将 JSON 结果返回到 JSP支柱2 2 1 1并准备
  • 通过 jdbc 执行存储过程时获取网关超时

    我正在使用 struts2 框架 它基本上是这样的 ActionClass execute call function in business class which returns an object and store this obj
  • Struts 2 S2-016 漏洞缓解直至升级

    最近 Struts 修复了一个允许攻击者执行远程代码的漏洞 显然 不修补这个问题就像用潮流欢迎黑帽子一样 http struts apache org release 2 3 x docs s2 016 html http struts a
  • ActionContext.getContext().getParameters() 在 StrutsJUnit4TestCase 期间返回 null

    我正在通过 Maven 运行 JUnit 测试 其中正在测试进行以下调用的 struts 操作 java 方法 Gets this from the org apache struts2 util TokenHelper class in
  • Struts 2 如何从自定义验证器中获取 i18n 消息

    如何从自定义验证器中的 key 获取消息 正如中提到的Struts 2 重用自定义表达式验证器 https stackoverflow com questions 28038827 struts 2 reusing custom expre
  • struts2中如何访问url参数

    我正在做一个struts2项目 我在项目中创建了 url 并使用标签传递了参数 我的问题是如何读取操作中的参数 另外 如果执行相同的操作 我将能够将参数视为查询字符串 我问是因为我无法做到 而且我在其中一个教程中看到了它 通常 您将通过使用
  • Struts 2 中的 Java 应用程序可以管理多少个会话?

    我正在开发事务管理应用程序 并且正在使用 Struts2 我在内部使用了一个会话来设置和获取值 例如 ActionContext getContext getSession put string string 在应用程序中使用这样的会话是否

随机推荐

  • 在ubuntu上安装ns2和nam(ubuntu16.04)

    在ubuntu上安装ns2和nam 版本选择 安装ns2 安装nam 版本选择 首先 版本的合理选择可以让我们避免很多麻烦 经过测试 ubuntu的版本选择为ubuntu16 04 ns2的版本选择为ns 2 35 nam包含于ns2 资源
  • MQTT.js 入门教程

    简介 MQTT js 是一个开源的 MQTT 协议的客户端库 使用 JavaScript 编写 主要用于 Node js 和 浏览器环境中 是目前 JavaScript 生态中使用最为广泛的 MQTT 客户端库 MQTT 是一种基于发布 订
  • .shp格式全国基础数据(公路、铁路、水系、国界、省界等)

    地级行政界线 zip 431 86 KB 下载次数 347 国界 zip 844 03 KB 下载次数 427 国界与省界 zip 1 11 MB 下载次数 366 三界以上河流 zip 1 42 MB 下载次数 370 首都和省级行政中心
  • [原创]Heroku 简单部署指南

    1 设置 1 1 环境依赖 1 2 Heroku 客户端安装 1 3 登录 2 应用 2 1 创建 2 2 查看日志 2 3 附加组件 2 4 交互式 Shell 2 5 定义 配置变量 2 6 配置数据库 2 7 Procfile 该部署
  • c++之QT

    Qt入门 C 1 Qt的优势 1 跨平台 几乎支持所有的平台 2 接口简单 容易上手 学习QT框架对学习其他框架有参考意义 3 一定程度上简化了内存回收机制 特定场景下会帮助释放内存 4 开发效率高 能够快速的构建应用程序 5 可以进行嵌入
  • vba复制整个sheet内容_Excel VBA实现复制单元格区域到另一个Sheet

    下面是编程之家 jb51 cc 通过网络收集整理的代码片段 编程之家小编现在分享给大家 也给大家做个参考 Sheet1 Range A2 B9 Select Application CutCopyMode False Selection C
  • ORACLE DBA面试题集

    Oracle笔试题 oracle DBA 面试题及答案 国外公司 oracle数据库笔试题 DBA 国际大公司Oracle 面试笔试题oracle Database DBA Interview Questions 1 How many me
  • 正则表达式(五):浅谈两种匹配操作

    在正则表达式中 匹配是最最基本的操作 使用正则表达式 换种说法就是 用正则表达式去匹配文本 但这只是广义的 匹配 细说起来 广义的 匹配 又可以分为两类 提取和验证 所以 本篇文章就来专门讲讲提取和验证 提取 提取可以理解为 用正则表达式遍
  • Matlab中如何如何隐藏指定的警报(suppress warning)?

    Matlab中如何如何隐藏指定的警报 suppress warning 我们有时候些编写的matlab代码可能过时了或者有一些明显的不恰当的地方 这时候matlab出于好心 在控制台里面给了我们一个黄色的警告提示 可是有时候 代码按照规范来
  • 显存爆炸和pin_memory

    参考 https zhuanlan zhihu com p 117270644 训练模型训练一半时显存爆炸的问题解决 pin memory 表示要将load进来的数据是否要拷贝到pin memory区中 其表示生成的Tensor数据是属于内
  • 机器学习笔记 - 什么是多模态深度学习?

    一 概述 人类使用五种感官来体验和解释周围的世界 我们的五种感官从五种不同的来源和五种不同的方式捕获信息 模态是指某事发生 经历或捕捉的方式 人工智能正在寻求模仿人类大脑 终究是跳不出这具躯壳的限制 人脑由可以同时处理多种模式的神经网络组成
  • 解决报错 模块‘tensorflow.python.keras.api._v2.keras.layers‘没有属性‘CuDNNLSTM‘

    当我写tf keras layers LSTM 我收到了警告 Note that this layer is not optimized for performance Please use tf keras layers CuDNNLST
  • MES管理系统中的看板管理如何提高生产效率

    在制造企业中 生产效率是关系到企业运营效率和成本的关键因素 而MES Manufacturing Execution System 制造执行系统 作为一种现代化的生产管理系统 其看板管理功能对于提高生产效率具有重要作用 下面 我们将详细介绍
  • C# Yield

    https blogs msdn microsoft com oldnewthing 20080814 00 p 21243 https blogs msdn microsoft com oldnewthing 20080815 00 p
  • NIM Server、Client交互操作过程分析——暨NIM防火墙要求

    最后更新2021 08 10 nimsh端口 从AIX 5 2 TL7开始 NIM增加了 nimsh 功能 此功能是原有NIM基于rsh协议操作的升级版 众所周知 rsh协议没有加密传输功能 安全性也很差 nimsh对此进行了升级 以提供更
  • lowbit

    lowbit用来计算二进制数 从右往左数第一个1与其后面的0组成的数 int lowbit int x return x x x 12 1100 lowbit 12 100 4 7 111 lowbit 7 1 1
  • Flutter优秀第三方常用框架

    名称 GitHub地址 下拉刷新上拉加载 EasyRefresh 下拉刷新上拉加载 PullToRefresh SharedPreferences shared preferences 中国城市选择器 city picker 设备信息 de
  • 硬盘存储知识

    存储知识 内存和外存 硬盘 1 物理磁盘类型 硬盘分为 机械硬盘 HDD 和固态硬盘 SSD 注意 买硬盘的时候要注意转速 机械硬盘是以下三种 物理磁盘类型 SATA盘 物理磁盘类型 SAS盘 物理磁盘类型 NL SAS盘 固态硬盘 物理磁
  • 微信小程序期末大作业 中草药小程序 药海拾遗

    微信小程序期末大作业 中草药小程序 药海拾遗 小程序详情如下 下载链接在文末 学习社区可以自己添加内容 点我下载资源 https download csdn net download weixin 43474701 59675965
  • 【Struts2六】ui标签之form标签及数据回显

    ui标签 用在jsp页面用于回显数据的标签 这些标签是由框架定义的 用来替代原生的标签 ui标签有