Struts2第十一篇【简单UI标签、数据回显】
Struts2UI标签
Sturts2为了简化我们的开发,也为我们提供了UI标签…也就是显示页面的标签…..
但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再被浏览器解析,最后才显示在页面上的。因此,它的性能是不够HTML标签好的…HTML直接就能够被浏览器解析
还有一点是:我们在写网页的时候,肯定是需要使用div+css的页面布局的。使用Struts2UI标签也没法干了….因此,除了有必要的话,才去使用Struts2UI标签
简单使用Struts2UI标签
<%--我们发现,Struts2UI标签用起来和HTML是差不多的--%>
<s:form id="form1" name="form1" method="POST" action="#">
<%--输入框数据,lable就相当于我们以前外边写的数据--%>
<s:textfield label="用户名" name="user.username"/>
<%--密码框--%>
<s:password label="密码" name="user.password"/>
<%--提交按钮--%>
<s:submit value="提交"/>
</s:form>
当我们查看源文件的时候,发现Struts2UI标签为我们自动加入了很多的标签
设置主题
上面已经说了,Struts2UI标签为我们自动加入了很多的标签,那有的时候,我们不想要,或者换一种风格的话,怎么办???
Struts2UI标签也为我们提供了“主题”这样的功能…
当我们在表单中设置theme属性为simple之后…我们发现源文件Struts2自动为我们添加的标签全没了。
如果我们想整个项目都是使用simple为主题的话,我们可以在配置文件中配置!
<constant name="struts.ui.theme" value="simple"/>
数据回显
我们对数据回显也不会陌生,在使用EL表达式的时候就已经用过了数据回显了….那为啥数据回显放在Struts2标签这里讲解呢???因为Struts2也提供了数据回显的支持,并且,使用数据回显必须要使用Struts2的标签…
按照正常思路写数据回显
在Struts中按照正常思路写数据回显是这样的:
- 把数据放到request域中存储,跳转到对应的JSP页面…
public String login() {
//把数据存储到域中
Map<String, Object> request = ActionContext.getContext().getContextMap();
request.put("username", "zhongfucheng");
request.put("password", "123");
return SUCCESS;
}
- JSP页面使用Struts2标签,设置value属性就可以进行数据回显了
<s:form id="form1" name="form1" method="POST" action="" >
<%--输入框数据,lable就相当于我们以前外边写的数据--%>
<s:textfield label="用户名" name="user.username" value="%{#request.username}"/>
<%--密码框--%>
<s:password label="密码" name="user.password"/>
<%--提交按钮--%>
<s:submit value="提交"/>
</s:form>
- 效果:
Struts2提供的数据回显
其实,上面的代码已经实现了数据回显,但Struts2提供了一个更巧妙的方法
也就是说,Struts2可以直接在name中就可以实现数据回显了….要做的是:
- 我们回显的数据在根元素下的,也就是保存在CompoundRoot中的数据【保存在根元素的数据不用使用#号就可以获取】
因此,我们把想要回显的数据放在CompoundRoot下
- 直接放在值栈的数据就是根元素数据
//得到值栈对象
ValueStack valueStack = ActionContext.getContext().getValueStack();
valueStack.set("username","zhongfucheng");
- 在JSP就可以直接获取了
<s:textfield label="用户名" name="username"/>
- 效果:
Struts2第十一篇【简单UI标签、数据回显】的更多相关文章
- form:select form:options 标签数据回显
在jsp页面中经常会使用到 form:select form:options 遍历后台List集合生成 select 下拉选择器,但是 form:options 标签并没有提供一个可以回显数据的属性. ...
- c:if标签数据回显判断是否选中
<form action="/brand/list.do" method="post" style="padding-top:5px;" ...
- SpringMVC学习(四)———— 数据回显与自定义异常处理器
一.数据回显技术 Springmvc默认支持对pojo类型的数据回显,默认不支持简单类型的数据回显 1.1.什么是数据回显? 在信息校验时,如果发生校验错误,那么把校验的数据信息,依然停留在当前页面, ...
- springmvc(五) 数据回显与自定义异常处理器
这章讲解一下springmvc的数据回显和自定义异常处理器的使用,两个都很简单 --WH 一.数据回显技术 Springmvc默认支持对pojo类型的数据回显,默认不支持简单类型的数据回显 1.1.什 ...
- springMVC参数绑定与数据回显
简单例子:修改商品信息的jsp页面: 参数绑定过程: 1.2.1 默认支持的参数类型 处理器形参中添加如下类型的参数处理适配器会默认识别并进行赋值. 1.1.1 HttpServletReq ...
- Struts2【UI标签、数据回显、资源国际化】
Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再 ...
- 二十 Struts2的标签库,数据回显(基于值栈)
通用标签库 判断标签:<s:if>.<s:elseif>.<s:else> 循环标签:<s:iterator> 其他常用标签: <s:proper ...
- SpringMVC第五篇【方法返回值、数据回显、idea下配置虚拟目录、文件上传】
Controller方法返回值 Controller方法的返回值其实就几种类型,我们来总结一下-. void String ModelAndView redirect重定向 forward转发 数据回 ...
- Struts2实现input数据回显
/** 修改页面 */ public String editUI() { //准备回显得数据 Role role = roleService.getById(id); ...
随机推荐
- 2、粘包现象(struct模块)
昨天我们所做的套接字是有漏洞的,它会出现粘包现象,没有发现这个问题的我们今天会进行演示.今天也会稍微讲解一下基于udp的套接字. 一.基于udp的套接字 udp是无链接的,先启动哪一端都不会报错 ud ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据
当RTSP客户端向RTSP服务端发送完PLAY命令后,RTSP服务端就会另外开启UDP端口(SDP协商定义的端口)发送RTP媒体流数据包.这些数据包之间会间隔一段时间(毫秒级)陆续被发送到RTSP客户 ...
- Pyspark的HBaseConverters详解
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl/p/7449682.html 转载请注明出处 最近在折腾pyspark的HbaseConverters,由于资料 ...
- spring学习笔记1
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATQAAAEBCAIAAAB5VM7WAAAgAElEQVR4nOy9Z3gc13n3zZT3efPESZ
- JavaScrpt笔记之第三天
1.JavaScriot代码规范 代码规范通常包括以下几个方面: 变量和函数的命名规则 空格,缩进,注释的使用规则. 其他常用规范-- 规范的代码可以更易于阅读与维护. 2.命名规则 一般很多代码语言 ...
- d3.js多个x轴y轴canvas柱状图
最终效果图镇楼: 本文通过三个步骤来介绍d3.js. 1.简单的柱状图: 2.多个x轴的柱状图: 3.多个x轴.y轴的柱状图: 学习心得: d3.js入门相对比较困难,一旦掌握了核心思想,不断熟悉AP ...
- oracle语句批处理
数据量有40万条,从一个对象table_01一条一条取数到对象table_02,如果用原始的 Statement Statmt =comm.createStatement(); String sql= ...
- java Io流中FileInputStream和BufferedInputStream的速度比较
首先是对FileInputStream 加上 FileOutputStream 对文件拷贝的应用 我这里拷贝的是一个视频.当然,你们拷贝什么都可以,当文件越大时效果越明显 下面是对BufferedIn ...
- selenium python自动化测试 ddt数据驱动
安装ddt pip install ddt 直接上代码: # coding:utf-8 import ddt import time import excelunit import unittest ...
- jumpserver-0.3.2 堡垒机环境搭建(图文详解)
下载安装包:https://github.com/jumpserver/jumpserver.git 解压 三.执行快速安装脚本 cd /opt/jumpserver/install pip inst ...