Struts2【UI标签、数据回显、资源国际化】(一)

简介: 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标签为我们自动加入了很多的标签

微信图片_20220221160725.jpg这里写图片描述

设置主题


上面已经说了,Struts2UI标签为我们自动加入了很多的标签,那有的时候,我们不想要,或者换一种风格的话,怎么办???

Struts2UI标签也为我们提供了“主题”这样的功能…

当我们在表单中设置theme属性为simple之后…我们发现源文件Struts2自动为我们添加的标签全没了。

微信图片_20220221160728.png这里写图片描述

如果我们想整个项目都是使用simple为主题的话,我们可以在配置文件中配置!

<constant name="struts.ui.theme" value="simple"/>

数据回显

我们对数据回显也不会陌生,在使用EL表达式的时候就已经用过了数据回显了….那为啥数据回显放在Struts2标签这里讲解呢???因为Struts2也提供了数据回显的支持,并且,使用数据回显必须要使用Struts2的标签…

微信图片_20220221160731.png这里写图片描述

按照正常思路写数据回显


在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>
  • 效果:

微信图片_20220221160734.png这里写图片描述


Struts2提供的数据回显

其实,上面的代码已经实现了数据回显,但Struts2提供了一个更巧妙的方法

微信图片_20220221160737.jpg这里写图片描述

也就是说,Struts2可以直接在name中就可以实现数据回显了….要做的是:

  • 我们回显的数据在根元素下的,也就是保存在CompoundRoot中的数据【保存在根元素的数据不用使用#号就可以获取】

因此,我们把想要回显的数据放在CompoundRoot下

  • 直接放在值栈的数据就是根元素数据
//得到值栈对象
        ValueStack valueStack = ActionContext.getContext().getValueStack();
        valueStack.set("username","zhongfucheng");
  • 在JSP就可以直接获取了
<s:textfield label="用户名" name="username"/>
  • 效果:

微信图片_20220221160739.png这里写图片描述

目录
相关文章
|
资源调度 前端开发
前端项目实战叁拾-​react-admin+material ui-页面配置国际化
前端项目实战叁拾-​react-admin+material ui-页面配置国际化
327 0
前端项目实战叁拾-​react-admin+material ui-页面配置国际化
|
XML 编解码 C#
.NET MAUI 安卓 UI 资源设置
本文主要介绍使用 MAUI 开发安卓应用时,如何更换和处理 UI 资源:应用名称,图标,主题配色,状态栏,闪屏。
1231 0
.NET MAUI 安卓 UI 资源设置
|
Java Android开发
Struts2【UI标签、数据回显、资源国际化】(二)
Struts2【UI标签、数据回显、资源国际化】
319 0
Struts2【UI标签、数据回显、资源国际化】(二)
|
前端开发 Java
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)下
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)
396 0
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)下
|
前端开发 Java
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)中
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)
341 0
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)中
|
前端开发 JavaScript Java
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)上
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)
361 0
Struts2的%,#,$的区别,UI标签及其表单radio,checkbox,select回显数据(七)上
|
Java 数据安全/隐私保护
Struts2【UI标签、数据回显、资源国际化】
Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再被浏览器解析,最后才显示在页面上的。
1534 0
|
开发框架 前端开发 JavaScript
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
本文介绍了方舟开发框架(ArkUI)及其两种开发范式:基于ArkTS的声明式开发范式和类Web开发范式。ArkUI是用于构建HarmonyOS应用界面的UI框架,提供极简UI语法和基础设施。声明式开发范式使用ArkTS语言,以组件、动画和状态管理为核心,适合复杂团队协作;类Web开发范式采用HML、CSS、JavaScript三段式开发,适用于简单界面应用,贴近Web开发者习惯。文中还概述了两者的架构和基础能力,帮助开发者选择合适的范式进行高效开发。
562 15
|
编解码 前端开发 Java
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发三
本文介绍了基于声明式UI范式的图形绘制与动画效果实现方法,涵盖绘制图形、添加动画效果及常见组件说明三部分内容。在绘制图形部分,详细讲解了如何通过Circle组件为食物成分表添加圆形标签,以及使用Path组件结合SVG命令绘制自定义图形(如应用Logo)。动画效果部分则展示了如何利用animateTo实现闪屏动画,包括渐出、放大效果,并设置页面跳转;同时介绍了页面间共享元素转场动画的实现方式。最后,文章列举了声明式开发范式中的各类组件及其功能,帮助开发者快速上手构建复杂交互页面。
542 11
|
存储 开发者 容器
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
本文介绍了ArkTS语言中的Class类、泛型、接口、模块化、自定义组件及状态管理等核心概念,并结合代码示例讲解了对象属性、构造方法、继承、静态成员、访问修饰符等内容,同时涵盖了路由管理、生命周期和Stage模型等应用开发关键知识点。
871 1
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例

热门文章

最新文章