Struts2,大爷你好!第四天
day04
10.第一节Struts2标签简介
Struts2自己封装了一套标签,比JSTL强大,而且与Struts2中的其他功能无缝结合
当然Struts2标签的内容很多,随着版本的升级,标签和属性越来越多,我们要掌握好核心标签及了解其他标签;
根据功能可以划分为:数据标签,控制标签;界面标签,其他标签
第二节Struts2数据标签
Property标签:输出OGNL表达式的值
<%
request.setAttribute("name","<font color=red>张三</font>");
%>
<body>
<s:property value="#request.name"/>
</body>
Set标签:设置变量;
<s:set var="a" value="'action范围的值'" scope="action"></s:set>
<s:property value="#a"/>
Bean标签:定义javaBean对象;
Date标签:日期标签
Debug标签:调试标签
Url&a标签:超链接标签
Include标签:动态包含标签
第三节Struts2控制标签
Ifelse标签:条件判断标签
Iterator标签:遍历标签
Append:叠加标签
Generator:分隔标签
Merge:组合标签
Sort:排序标签
Subset:截图标签
11.界面标签
Form:表单提交标签
Text:文本标签
Radios:单选标签
Checkboxlist:复选框标签
Select:下拉框标签
--其他标签
Updownselect标签
Optiontransferselect标签
12.第一节:国际化简介
国际化(Internationlization),通俗的将,就是让软件实现对多种语言的支持;
第二节:Struts2国际化设置
<constant name="struts.custom.il8n.resources" value="java333"></constant>
<s:text name=""></s:text>访问国际化资源
引入<%@taglib prefix="s" url="/struts-tags"%>
13.Struts2 验证框架
第一节Struts2验证简介
Struts2基于Struts2拦截器,为开发者提供了一套易用的验证框架,并可扩展,一般的验证都支持
---验证登录--struts.xml
<package name="manager" extends="struts-default">
<action name="registerAction" class="com.路径.java文件"></action>
<result name="input">/register.jsp</result>
<result name="success">/success.jsp</result>
</package>
我省略了action下的RegisterAction.java和model下的User.java
--register.jsp文件
<body>
用户注册
<s:form action="registerAction" method="post">
<s:textfield name="user.userName" label="用户名"></s:textfield>
<s:textfield name="user.name" label="真实姓名"></s:textfield>
<s:textfield name="user.age" label="年龄"></s:textfield>
<s:textfield name="user.email" label="邮件"></s:textfield>
</s:form>
</body>
添加文档RegisterAction-validation.xml
<validators>自己查询文档进行复制添加--修改(验证提示)</validators>
第二节Struts2内置验证
--普通字段的验证
--验证表达式
<s:actionerror/>
<validator type="expression">
<param name="expression"><![CDATA[!user.name.equals(user.userNmae)]]></param>
<message>用户名和真实姓名不能相同</message>
14.第三节自定义验证
拦截带有关键字,敏感字段需要自定义验证
查询validators.xml文档添加到项目中
添加验证器--修改路径
<field-validator type="定义在validators.xml文件的name">
<message>有敏感词汇</message>
</field-validator>
--方法继承FieldValidatoSupport
//继承字段
String fieldNmae=this.getFieldName();
//获取用户输入的值
String value=this.getFieldValue(fieldNmae,object);
--
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?