Struts2标签的使用

Struts 2标签的应用 利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告) 立即下载
1:输出action中属性值,在jsp页面中显示用:<s:property value="属性名" /> 
2:在页面中实现自动增加的序号用iterator的statuts的index属性 eg: 
<s:iterator value="#request.inOutAccountList" id="data" status="listStat"> 
<s:property value="#listStat.index+1"/> 
<!—输出当前迭代元素的索引 
<s:property value="#listStat.index"/> 
<!—输出当前迭代了几个元素 
<s:property value="#listStat.count"/> 
<!—返回当前迭代元素的索引是否为奇数 
<s:property value="#listStat.odd"/> 
<!—返回当前迭代元素的索引是否为偶数 
<s:property value="#listStat.event"/> 
<!—返回当前元素是否为第一个元素 
<s:property value="#listStat.first"/> 
<!—返回当前元素是否为最后一个元素 
<s:property value="#listStat.last"/> 
</s:iterator> 
3:在action类中取得request和session对象的方法 
Map session = ActionContext.getContext().getSession(); 
HttpServletRequest request = ServletActionContext.getRequest (); 
设置它们的值的方法: 
session.put("operation", "add"); 
request.setAttribute("name", name); 
页面中取得它们的值: 
<s:property value="#session.operation"/> 
<s:property value="#session[‘operation’]"/> 
${sessionScope.TEST} == ${session.TEST} 
<s:if test="#session.operation =='add'"> 
<s:if test="#session[‘operation’]=='add'"> 
<s:if test="#session[‘operation’]==null"> 

<s:property value="#request.name"/> 
${requestScope.name} == ${request.name} 
4:页面中奇偶行样式不一样的控制方法: 
<tr class="<s:if test='#listStat.odd==true'>tableStyle-tr1</s:if><s:else>tableStyle-tr2</s:else>" > 
5:单选框和复选框的使用方法 
1):可以设置默认选中值,注意list的值的设置,通过这种方式使key和value不一样,这种方法比较常用(checkboxlist or radio) 
<s:radio name="uncarInsPolicy.policyStateCode" 
list="#{'5':'通过' , '2':'不通过'}" listKey="key" listValue="value" value='5' /> 
2):这里的key和value的值是一样的(checkboxlist or radio) 
<s:checkboxlist list="{'Red', 'Blue', 'Green'}" name="favoriteColor"/> 
6:struts2 中的标签会生成类似由<tr><td></td></tr>构成的字串(具体什么标签生成什么,可以查 看生成后的页面的源代码)如果不限制这些多余代码的生成,页面将变得无法控制,所以一般我们是不希望它生成多余的代码的,具体的设置方法如果,在 struts.xml中统一配置 
<constant name="struts.ui.theme" value="simple"/>加上该句即可 
也可以通过在页面中将tag的theme属性设为"simple"取消其默认的表格布局 
不过最好是:自定义一个theme,并将其设为默认应用到整个站点,如此一来就可以得到统一的站点风格 
7:jsp页面中格式化日期的方法 
<s:date name="unCarInsModificationInfo.createTime" format="yyyy-MM-dd" nice="false"/>这样就可以将日期格式化为yyyy-MM-dd的形式 
8:默认情况下,当请求action发生时,Struts运行时(Runtime)根据struts.xml里的Action映射集(Mapping),实例化action对应的类,并调用其execute方法。当然,我们可以通过以下两种方法改变这种默认调用 
1)在classes/sturts.xml中新建Action,并指明其调用的方法 
比如想调用action类中的 
public String aliasAction() { 
    message ="自定义Action调用方法"; 
    return SUCCESS; 
} 
则在classes/sturts.xml中加入下面代码: 
<action name="AliasHelloWorld" class="tutorial.HelloWorld"method="aliasAction"> 
   <result>/HelloWorld.jsp</result> 
</action> 
既可用action名调用该方法了 
2)(比较常用) 
访问Action时,在Action名后加上“!xxx”(xxx为方法名)。 
9:Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。 
struts.xml用于应用程序相关的配置 
struts.properties用于Struts 2.0的运行时(Runtime)的配置 
10:在action类中取得web下某一文件夹物理路径(绝对路径)的方法 
filePath = ServletActionContext.getServletContext().getRealPath("/upLoadFiles") 
11:要想返回的页面不是一个直接JSP页面而是要先通过返回action中的方法读取相应的数据再返回到jsp页面,有两种方法 
1)在struts.xml中这么设置 
<result name="list" type="redirect-action">sysmanage/UserBaseInfoAction!findUserBaseInfo.action</result> 
2)在action中返回时直接调用这个方法即可 
return findList(); 
12:设置checkboxlist中默认值的方法 
<s:checkboxlist name="skills1"="Skills 1" list="{ 'Java', '.Net', 'RoR', 'PHP' }" value="{ 'Java', '.Net' }" /> 
<s:checkboxlist name="skills2" 
    label="Skills 2" list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }" listKey="key" listValue="value" value="{ 1, 2, 3 }"/> 
13:二级级连下拉框 
<s:set name="foobar" 
   value="#{'Java': {'Spring', 'Hibernate', 'Struts 2'}, '.Net': {'Linq', ' ASP.NET 2.0'}, 'Database': {'Oracle', 'SQL Server', 'DB2', 'MySQL'}}" /> 
<s:doubleselect list="#foobar.keySet()" doubleName="technology" doubleList="#foobar[top]" label="Technology" /> 
14:在页面中取出list对象中的属性值 
<s:if test="list!=null&&list.size()>0"> 
<s:iterator value="list" status=”stat”> 
<!—如果list中存储形式为select id,name,title-- > 
<s:property value="list[#stat.index][0]" /> 
<!—如果list中存储多对象如left join Role left join Group-- > 
<s:property value="list[#stat.index][0].title" /> 
<s:property value="list[#stat.index][1].title" /> 
<!—如果为Map形式存储-- > 
<s:iterator value="mapUsers.keySet()" id="id"> 
   <s:property value="#id"/> 
   <s:iterator value="mapUsers.get(#id)"> 
   <s:property value="nickname"/>||<s:property value="UName"/> 
   </s:iterator> 
</s:iterator> 
<!—判断是否为奇数-- > 
<s:if test="stat.odd == true"></s:if> 
<!—判断是否为第一条数据-- > 
<s:if test="#stat.index==0"> 
<s:if test="#stat.first"> 
<!—判断属性是否为null-- > 
<s:if test="list[#stat.index][0].title ==null”> 
<!—将属性值声明为变量-- > 
<s:set name="title" value="list[#stat.index][0].title " ></s:set> 
<!—判断属性值-- > 
<s:if test="list[#stat.index][0].title ==4"> 
<s:if test="list[#stat.index][0].title ==’admin’"> 
<s:if test="#title ==4"> 
<s:if test="list[#stat.index][0].title.length()>15"> 
<s:property value="list[#stat.index][0].title.substring(0,15)" />... 
</s:if> 


14:获取select值 
<s:select list="listDept" name="selectDept" listKey="val" listValue="prntext" disabled = "true" value="deptSelected" /> 

<s:hidden name="selectDept" value="%{deptSelected}"/> 

15:循环指定int型数据 
其中first属性指定循环起始值,last指定循环终止值,其它相关属性可以查看org.apache.struts2.util.Counter类源码。在下面迭代器中输入循环的当前值,即:current 
<s:bean name="org.apache.struts2.util.Counter"> 
<s:param name="first" value="1" /> 
<s:param name="last" value="pages" /><!—pages page为action中属性 
<s:iterator> 
<s:if test="current-1==page"> 
<font color="red"><s:property /></font> 
</s:if> 
<s:else> 
[<s:property />] 
</s:else> 
</s:iterator> 
</s:bean> 

16:输出国际化文件中的值 
<s:text name=”key”> 
${getText[“key”]} 
17:输出Action中的消息 
<s:actionmessage /> 
18:输出Action中的错误 
<s:actionerror />
Windows 10 下 DockerToolbox 安装全攻略:从下载到配置阿里云镜像加速 本文详细介绍了在Windows 10系统上安装和配置DockerToolbox的完整流程。从下载安装包、执行初步安装,到关键步骤——修改虚拟机存储路径以及配置阿里云镜像加速器,旨在帮助开发者,尤其是初次接触Docker的新手,快速搭建高效的本地容器开发环境,并解决国内镜像下载缓慢的痛点。 阅读详情

相关推荐

告别PXE!用iPXE在CentOS 8.5上搭建一个能同时装Win11和Linux的万能网络启动盘

本文详细介绍了如何在CentOS 8.5上使用iPXE搭建支持Windows 11和Linux双系统部署的全能网络启动盘。通过对比传统PXE的局限性,展示了iPXE在HTTP协议支持、多架构适配和智能脚本方面的优势,提供从环境准备、服务配置到智能菜单开发的完整解决方案,显著提升系统部署效率。

weixin_29278805的博客 265

编写简单的Struts2程序

实验一 编写简单的Struts2程序 一、实验目的 能正确配置Struts 2开发环境,了解和熟悉Struts 2的开发流程、了解和熟悉Struts2标签的使用方法。 二、实验要求 1.正确创建Action类; 2.配置struts.xml文件; 3.掌握在视图中访问Action的方法. 4. 掌握在视图中多方法调用同一个Action的方法 5.掌握常用标签textfield、radio、paa...

hui1097的博客 637

ST电机库实战:从状态机到稳健启动流程的深度解析

本文深度解析了ST电机库中状态机的核心作用与稳健启动流程。状态机作为电机控制的“交通指挥官”,通过IDLE、CHARGE_BOOT_CAP、ALIGNMENT等一系列状态的严格跳转,确保了永磁同步电机(PMSM)和直流无刷电机(BLDC)的安全启动与可靠运行,是避免硬件损坏和实现平稳控制的关键。

weixin_29161785的博客 226

Struts2框架3.标签

在服务器端验证的标签  有些时候我们要做两次验证,一次是用js在前台做验证,第二次是在服务端做验证,这样是为了防止客户端禁用js。例如在服务端验证用户名是否为空,使用if判断,如果用户名为空,使用super.addFieldError(String fieldName, String errorMessage);方法来记录错误信息。在jsp页面则要使用标签来接收错误信息,写成这样的话是获取所有错

柠檬需要糖 359

CodeBuddy 接入 MCP,一键生成网站!

2024 年 11 月,Anthropic 公司搞了个挺有意思的新玩意 - Model Context Protocol(模型上下文协议)简称为 MCP 协议。简单来说,它就是给 AI 和各类工具数据之间搭了个标准化的”桥梁”,让开发者不用再为对接问题头疼了。mcp.so如下图所示,这是 mcp.so 网站中的 MCP Server。使用百度/高德地图分析旅线计算时间接 Puppeteer 自动操作网页使用 Github/Gitlab 让大模型接管代码仓库。

悟空聊架构的专栏 1944

基于STM32-XPC仿真平台的构架

基于STM32-XPC仿真平台的构架 xPC Target是MathWorks公司的MATLAB提供的一个基于RTW(Real-Time Workshop)体系框架的附加产品,是一种用于产品原型开发、测试和配置实时系统的PC机解决途径。xPC目标实时仿真系统能够使开发者在产品开发前进行产品原型的快速实现、测试和评估,是 Simulink 工具集下用于产品原型开发设计测试集于一体的工具箱。

sujianbonwpu的博客 4487

struts2标签

1.       创建web工程,添加struts2框架所需的jar包。2.       添加struts2过滤去支持。3.       创建struts.xml文件。&lt;?xml version="1.0"encoding="UTF-8" ?&gt; &lt;!DOCTYPE struts PUBLIC "-//ApacheSoftware Foundation//DTD Struts C...

飞鸿的博客 298

车载测试工程师必备:5分钟搞定CANoe台架搭建(附DBC导入技巧)

本文为车载测试工程师提供快速搭建CANoe测试台架的实用指南,涵盖硬件连接、DBC文件导入及常见报错解决方案。通过详细步骤和高效技巧,帮助工程师在5分钟内完成台架搭建,提升车载测试效率,特别适合紧急功能验证场景。

potato的博客 812

使用Struts2标签

Struts2提供了大量标签帮助开发表现层页面,Struts2标签库与Struts1相比,不依赖于任何表现层技术,大部分可以在各种表现层技术中使用,包括最常用的jsp页面,也可以在Velocity和FreeMarker等模板技术中使用。 注:极小部分在某些表现层中受到限制 还记得如何自定义标签库吗? ...

chen_bin_的博客 1365

pgsql行列转换

‌是PostgreSQL中的一个函数,用于将一个字符串根据正则表达式进行分割,并将结果返回为一个表格,每个分割后的部分作为一行‌‌。string_agg() 函数是 PostgreSQL 中的一个聚合函数,用于将一个列中的值连接成一个字符串。

chimchim66的博客 3501

39、FIPA ACL:多代理系统中的标准化通信

本文详细介绍了FIPA ACL(Agent Communication Language)的基本概念、言语行为理论基础以及其在多代理系统(MAS)中的应用。文章涵盖了FIPA ACL的消息格式、信息交流流程、实现与优化方法,并通过智能调度系统的实例展示了其实际应用效果。此外,还探讨了FIPA ACL面临的挑战及未来发展方向,如通信延迟优化、本体简化、安全性增强等。

k8s6orchestrator的博客 381

Struts2 标签详解

由web-tag.net整理 版权属web-tag.net 以及 原作者。 由于标签太多难做目录索引,如果你觉得有目录索引更好,请到http://code.google.com/p/myjdemo/downloads/list 下载CHM版本的Struts2标签详解,谢谢。    a  a标签创建一个HTML超链接,等价于HTML 的 示范代码: 登陆  action

jcyabc的专栏 504

【yolo】如何在 YOLOv8 中添加负样本以减少误检

在YOLOv8目标检测中,误检(False Positive)是一个常见问题,即模型将非目标区域错误识别为目标。通过引入负样本(Negative Samples),即不包含任何目标框的图像,可以有效减少误检。在YOLOv8中添加负样本的方法是为这些图像提供空的标注文件(.txt),确保每张图像都有对应的标注文件,即使内容为空。可以使用Python脚本自动生成这些空标注文件。使用负样本时需注意数量比例、标注一致性、验证集同步和图像质量。适当加入负样本能显著提升模型鲁棒性,降低误判风险。

songhuangong123的博客 2879

Struts2框架标签

Struts2框架标签

qq_42640067的博客 1153

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

struts2标签与jstl标签混合使用

1.以前一直使用jstl标签,后来也开始使用struts2的一些标签,毕竟struts2的有些标签使用起来还是比较方便 项目中常常会出现struts2标签和jstl标签混和用的情况,比如在自定义标签或者在循环标签等 1.在jstl中使用struts2 1.   2.     jstl:   3.     el:${ee.id}   4.     strut

lw744355998的专栏 2008

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Struts 2标签示例

下载它– Struts2-A-Tag-Example.zip Struts 2“ a ”标签用于呈现HTML“ <a> ”标签。 最佳做法是始终使用“ <s:url> ”标记创建URL并将其嵌入到“ a ”标记中。 例如, <s:url value="http://www.google.com" var="googleURL" /> <s:a h...

一名可爱的技术搬运工 218

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Struts2 标签库

struts2标签库提供了主题,模板支持,极大地简化了视图页面的编写,而且,struts2的主题,模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。     struts2的标签可以分为五大类: 一、逻辑控制标签 (1)条件标签 条件标签主要有3个子标签,用于执行基本的条件流转

1361

Struts2标签

1 struts2的UI标签 导入struts2的标签库 <%@ taglib prefix="s" uri="/struts-tags"%> <div> 用户名: <s:textfield name="uname"></s:textfield> </div> <div> 密 码: <s:password name="upwd"></s:password> </di

光何 209

struts2常用标签详解-在项目中使用struts2标签

Struts2常用标签总结 一 介绍 1.Struts2的作用  Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。  Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技

Golden_lion的博客 3799

Struts2标签<1>-HTML标签与struts2标签区别

一)struts2中的HTML标签与用原始的hteml标签哪个更好?有什么区别?为什么要使用上struts2标签? 1)应该根据实际情况的选取,当你的标签中出现了action返回的参数,选用struts的html标签可能好些,否则你的页面会出现,这在项目中不允许的,当然要是普通的html,就没有必要使用struts的html标签。  也不是一定要用,只是用struts2标签会比纯html标

飞翔的心 4337

【Struts2】Struts2标签:UI标签和通用标签

Struts2标签:UI标签和通用标签 UI标签 表单标签 非表单标签 通用标签 控制标签 数据标签 UI标签 表单标签 标签 说明 <s:form></s:form> 表单标签 <s:textfield></s:textfield> 文本输入框标签 <s:password></s:password> 密码输入框标签 <s:textarea></s:textarea>

Need not to know 174

Struts2标签示例

&lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; &lt;%@ page import="com.rao.bean.Sex"%&gt; &lt;%@ taglib prefix="s" uri="/struts-tags"%&gt;

暴走的石头 579

Struts 2 标签

计应134 郑寿奎 注:要使用Strust 2标签需<%@ taglib prefix="s" uri="/struts-tags" %> 表单标签: 1.form标签 <s:form name="名字" action="要提交的Action的名字" method="提交的方式:Post/get" theme="视图的模板不想使用默认的模板则值为:s...

baoao8592的博客 194

常用标签 struts2标签 struts2

.0关键字: struts2 1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。 b. 可以不在访问的action中提供相应的属性,用request.getParameter(“userName”);1.2.显示标签 property 用于输出指...

weicheng85的博客 114

Struts2标签库常用标签

Struts2标签库常用标签 基本概述      对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分。Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上。控制器主要由Action来提供支持,而视图则是由大量的标签来提供支持。      在JavaWeb中,Struts2标签库是一个比较完善,而且功能强大的标签库,它将所有标签都统一到一个标签库中,从而简化

Switch的博客 4万+

struts2标签 java代码_struts2标签详解

struts2标签讲解要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:Struts2的标签共分为五大类:一、逻辑控制标签用于进行逻辑控制输出,主要分为以下几类:1、条件标签:用于执行基本的条件流转拥有一个test属性,其表达式的值用来决定标签里的内容是否显示,北京欢迎你上海欢迎你同上2、迭代标签:用于遍历集合(java.util.Collection)或者枚举值(java.ut...

weixin_32730471的博客 644
上一篇: Maven配置2-使用Maven创建WEB项目支持Tomcat目录部署
下一篇: 网站集合
javaerSir
博客等级 码龄15年 1粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值