文档库 最新最全的文档下载
当前位置:文档库 › 如何自定义Struts2表单验证后的错误信息显示格式

如何自定义Struts2表单验证后的错误信息显示格式

如何自定义Struts2表单验证后的错误信息显示格式
如何自定义Struts2表单验证后的错误信息显示格式

如何自定义Struts2表单验证后的错误信息显示格式/样式

(s:fielderror,换行,黑点)

前面一段时间学过一些Struts2的知识,感觉Struts2和1.x还是有很大的差别的,我还不好说1.x肯定会过时还是2.0会很快流行,这毕竟是需要作为导向的。

在Struts2中验证真的比较容易,可以在Action中直接写validate,也可以使用validate框架进行验证,这个我觉得比Struts1.x方便了很多,但是有个问题一直困扰了我,直到现在有个小程序要用到这个方面的知识,那就是验证后如何很好地人性化地在jsp 页面中显示了。

大家都知道,Struts2显示验证结果有一些方式,一般通过两种方式,介绍如下:

1.在页面的上面或者某个位置全部显示错误

代码:

这样会显示所有的错误信息,模拟效果如下:

2.在每个字段下面或上面显示,通过

XXX(标签的name属性,象https://www.wendangku.net/doc/9510653645.html,ername)

例:用 戶 名:

https://www.wendangku.net/doc/9510653645.html,ername

显示效果如下:

上面的差不多是Struts默认显示的两种方式,但是我们常见的显示方式并不是这样的,所有我们需要自定义这种格式,我们的习惯是把错误信息显示在某个出错字段的后面,一行显示,而它给了一个小黑点并且换了行,我们现在就来解决这个问题。

这个问题困扰了我很久,真的很久以前想过,但是没有彻底地解决,一直留到现在,今天在google上搜了很久,终于给解决了,现在分享一下解决的途径。

先提供网上的思路给大家(关键解决的思路)

1.struts2表单验证_错误信息的显示问题中提到

引用 10 楼 starwar2030 的回复:

可以在CSS中定义

.formFieldError {

font-family: verdana, arial, helvetica, sans-serif;

font-size: 12px;

color: #FF3300;

vertical-align: bottom;

}

.formFieldError ul{

margin: 0px;

padding: 3px;

vertical-align: middle;

}

而后使用类似用

2.struts2 的 fielderror 样式问题中提到

可以改一下STRUTS2的错误信息模板.

fielderror.ftl 这个里面可以改它的样式

3.Struts2 模板中提到

先前有网友问过我,他用了Struts2 的校验,但是错误输出是在输入框的上方,但希望错误信息是显示在输入框的右方,该如何做。当时我只告诉了他要修改模板文件,也只是大概告诉了他是在某个template 目录下的一个ftl 文件,因那时具体操作自己也不太清楚。现在知道了线索,但实际修改还是很麻烦的。

输入框 默认是用的xhtml/text.flt 模板,text.ftl 包装了smple/text.ftl,错误信息可以追溯发现是在controlheader-core.ftl 中定义显示的,所以你可以把xthml/text.ftl 和controlheader-core.ftl 拷到WEB-INF/classes/template/xhtml 目录中进行修改,WEB-INF/classes/template/xhtml 中的模板文件是优先于

struts2-core-2.x.x.jar 里的template/xhtml 目录中的模板文件加载

这是我整理出来的一些思路,但是看到这些的时候,特别是第三条Struts2模板的时候,感觉自己有点思路了,后面就是一步一步地进行,发现还真的解决了。这个时候也希望能够看看上面的文章。现提供我解决自定义错误显示方式的步骤。

1.找到你的struts2-core-

2.XXX.jar这个核心包,用软件解压;

2.在\struts2-core-2. XXX\template\simple目录下找到fielderror.ftl(跟我们自定

义格式非常有关系的文件);

3.根据Struts2模板中提到的,把上面的fielderror.ftl放到

WEB-INF/classes/template/simple目录下,这个我当时以为就在WEB-INF下新建一个classes的文件夹,后来提示已经存在,想想整个工程的结构发现,classes是放Java编译后的文件的,所有,这个时候的操作是在Src目录下新建一个template的文件夹,再在里面新建一个simple的文件夹(template/simple)(一定要注意建文件夹的步骤,是分两个文件夹建而不是建一个文件夹template.simple),把fielderror.ftl放到里面,目录结构如下:

4.修改fielderror.ftl配置文件,这一步才是关键,如何修改了,实际上也很简单,就

是把

  • 标签删除(仅仅是删除标签而不删除标签里面的内容),简便的方法就是用记事本打开这个文件并用空格替换上面的每个标签(一个一个来哦)。后面我会提供我已经修改后的这个文件,如果大家不想修改的话就直接把我修改后的文件放到上面的目录即可。

    5.上面一步就是把错误信息显示前面的小黑点和换行都去掉了,是个关键步骤了,后面就

    来显示了,还是用上面的方式

    XXX(标签的name属性,象https://www.wendangku.net/doc/9510653645.html,ername)

    要不要加theme="simple"大家看着办,反正我是没加,也是可以的,还有,这个时候,你就可以通过css来定义一下错误信息显示的字体啊,颜色啊等,这里不再叙述。

    6.整个步骤的原理就是Struts会加载一些配置文件,如果我们的classess里面没有的话

    会找到jar包里面的,如果有的话优先使用配置文件。我们这里的就是用我们修改的fielderror.ftl配置文件来覆盖jar包里面的文件。

    7.来看看我们修改后的自定义显示错误信息吧,截图如下:

    是不是很舒服哦。

    木子写于2009年8月17日

    我的新浪博客https://www.wendangku.net/doc/9510653645.html,/usc3l中有这篇博文,希望大家有空过来看看,谢谢。

    /*

    * $Id: Action.java 502296 2007-02-01 17:33:39Z niallp $

    *

    * Licensed to the Apache Software Foundation (ASF) under one

    * or more contributor license agreements. See the NOTICE file

    * distributed with this work for additional information

    * regarding copyright ownership. The ASF licenses this file

    * to you under the Apache License, Version 2.0 (the

    * "License"); you may not use this file except in compliance

    * with the License. You may obtain a copy of the License at

    *

    * https://www.wendangku.net/doc/9510653645.html,/licenses/LICENSE-2.0

    *

    * Unless required by applicable law or agreed to in writing,

    * software distributed under the License is distributed on an

    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

    * KIND, either express or implied. See the License for the

    * specific language governing permissions and limitations

    * under the License.

    */

    -->

    <#if fieldErrors?exists><#t/>

    <#assign eKeys = fieldErrors.keySet()><#t/>

    <#assign eKeysSize = eKeys.size()><#t/>

    <#assign doneStartUlTag=false><#t/>

    <#assign doneEndUlTag=false><#t/>

    <#assign haveMatchedErrorField=false><#t/>

    <#if (fieldErrorFieldNames?size > 0) ><#t/>

    <#list fieldErrorFieldNames as fieldErrorFieldName><#t/> <#list eKeys as eKey><#t/>

    <#if (eKey = fieldErrorFieldName)><#t/>

    <#assign haveMatchedErrorField=true><#t/>

    <#assign eValue = fieldErrors[fieldErrorFieldName]><#t/>

    <#if (haveMatchedErrorField && (!doneStartUlTag))><#t/>

    <#assign doneStartUlTag=true><#t/>

    <#t/>

    <#list eValue as eEachValue><#t/>

    <#if parameters.cssClass?exists>

    class="${parameters.cssClass?html}"<#rt/>

    <#else>

    class="errorMessage"<#rt/>

    <#if parameters.cssStyle?exists>

    style="${parameters.cssStyle?html}"<#rt/>

    >${eEachValue}

    <#t/>

    <#t/>

    <#t/>

    <#t/>

    <#if (haveMatchedErrorField && (!doneEndUlTag))><#t/>

    <#assign doneEndUlTag=true><#t/>

    <#t/>

    <#else><#t/>

    <#if (eKeysSize > 0)><#t/>

    <#list eKeys as eKey><#t/>

    <#assign eValue = fieldErrors[eKey]><#t/>

    <#list eValue as eEachValue><#t/>

    <#if parameters.cssClass?exists>

    class="${parameters.cssClass?html}"<#rt/>

    <#else>

    class="errorMessage"<#rt/>

    <#if parameters.cssStyle?exists>

    style="${parameters.cssStyle?html}"<#rt/>

    >${eEachValue}

    <#t/>

    <#t/>

    <#t/>

    <#t/>

    <#t/>

    表单的基本知识点

    表单基本型控件的常用属性 1标签 Caption标题name控件名、fontsize字体大小、fontname文本字体 Alignment指定标题文本在控件内文本的对齐方式 Autosize 是否自动调整控件大小以容纳其内容 Backstyle 指定对象的背景是否透明 Borderstyle 指定对象的边框样式 2命令按钮组 Caption标题width指定对象的宽度height 指定高度 Default 指定按下enter时,哪一个命令按钮会响应 Enabled指定控件能否响应由用户引发的事件 Visible 指定对象是可见还是隐藏 3文本框 Readonly 是否设置为只读Value 设置文本框中的内容 Passwordchar 是否显示占位符,常用* Recordsource指表格数据源Recordsourcetype指表格数据源类型 注意.有两张表格,一张表格显示一数据表内容,另一张表格显示与该数据表内容对应的另一数据表的内容,这种题先添加数据环境,并使数据环境中的这两张表有联线(需先设置表间的永久联系);对两张表格RecordSourceType属性均设为“别名”,RecordSource属性设为数据表文件名。 5列表框 Multiselect 是否可进行多重选择Rowsource指列表框或组合框数据源 Rowsourcetype指列表框或组合框数据类型 6页框(也称为选项卡) PageCount(设置页数)ActivePage(设置活动页)Caption(设置每页的标题是Page1或Page2等各页的标题) 7组合框 属性:RowSourceType(数据源类型)、RowSource(数据源)、Style(设置下拉组合框还是下拉列表框 8选项按钮组 ButtonCount(设置选项数目)、Caption(设置选项的标题 9计时器 InterVal设置时间间隔 常用事件 Lode在表单对象建立之前引发Init在对象建立时引发 Destroy在对象释放时引发Unload 在表单对象释放时引发 引发顺序Load init destroy unload Click是单击事件Rightclick是右击事件 常用方法 Show是显示HIDE是隐藏 RELEASE是释放REFRESH是刷新 有关的命令 Create form 建立表单Modify form 打开表单设计器 退出或关闭thisform.release 或release thisform 建立CREATE CLASS 新类OF 类库AS 父类 修改modify CLASS 类名OF 类库 删除remove class 类名of 类库创建类库create classlib 类库名

    单元格自定义格式代码详解

    单元格自定义格式代码详解 前言:从WORD中复制过来后格式有点乱了,大家见谅 2.1 数字自定义格式设置EXCEL提供了大量的各种各样的内部数字格式,但仍然不能满足用户的需要。使用自定义数字格式,则可以根据用户需要订制数字格式。 2.1.1 创建自定义格式如图2-56单元格中内容是“张三”,如果要显示为“李四”,创建方法:选取单元格A1,执行格式/单元格命令或通过单击右键并在菜单中再单击单元格格式设置,打开单元格格式对话框。选取数字选项卡,在分类中选取自定义项,在右侧的类别框中输入“;;;"李四"”后,单元格显示则转换为“李四”。 2.1.1 自定义格式代码结构用户可以指定一系列代码作为数字格式来创建自定义格式,在图2-56中右侧类型框中输入的“;;;"李四"”就是一组代码,它可以把单元格的所有文本内容显示为“李四”。 2.1.1.1 代码结构组成代码码分为四个部分,中间用“;”号分隔,具体如下: 正数格式;负数格式;零格式;文本格式

    2.1.1.2 代码结构使用规则代码结构具体使用规则见下表: 更正:只显负值改为:;-G/通用格式;; 2.1.1 创建自定义时使用的代码代码是设置自定义格式必不可少的部分,主要有数字(文本)代码和时间(日期)代码两种。 2.1.1.1 数字和文本代码常用数字和文本代码: “G/通用格式”:以常规的数字显示,相当于“分类”列表中的“常规”选项。 例:代码:“G/通用格式”。10显示为10;10.1显示为10.1。 “0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。 例:代码:“00000”。1234567显示为1234567;123显示为00123 代码:“00.000”。100.14显示为100.140;1.1显示为01.100 “#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于“#”的数量,则按“#”的位数四舍五入。 例:代码:“###.##”,12.1显示为12.10;12.1263显示为:12.13

    Struts2之输入校验

    一、Struts2输入校验介绍 Struts2的输入校验和类型转换都是对请求参数进行处理。 输入校验顾名思义就是请求参数是否能够满足一定的要求; 客户端校验&服务器端校验 客户端校验是指在浏览器这端通过Javascript进行初步校验,为了减轻服务器端的负载;服务器端校验是校验数据的最后一道防线; 在Struts2中,数据校验不需要写任何代码,只需要一个配置文件,配置校验的条件就可以了,非常简单;因此数据校验文件是数据校验的最重要的内容; 二、数据校验规则文件 1.数据校验规则文件规则: 1.此文件中规定了参数的一些校验条件; 2.可以包括字段型校验器和非字段型校验器; 3.命名规则:ActionName-validation.xml,其中ActionName是Action类的名字; 4.每个Action都有一个validation文件,规则文件放在和Action同目录下; 5.在前面我们讲到的配置逻辑action中,如果需要对某个逻辑Action配置数据校验文件,则命名规则为:ActionName-LogicActionName-validation.xml; 6.注意:当需要对逻辑action进行校验时,如果存在一般形式的ActionName-validaton.xml 文件,则也会对此逻辑Action进行校验; 7.输入校验失败后,和类型转换一样,会将错误封装成fieldError,并放入Action Context 中,因此在JSP中添加可显示错误,此内容也是我们在数据校验文件中配置的; 8.当输入校验失败后,和类型转换一样,返回逻辑视图为input,因此在struts.xml中必须配 9.输入校验失败后,struts表单标签也会自动输出错误提示; 字段型校验器&非字段型校验器 字段型校验器:以每个Action属性为一个单位进行编写,即以如下风格编写:

    Excel制表单元格自定义格式参数详解(精)

    单元格自定义格式参数详解 1、”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。 例:代码:”G/通用格式”。10显示为10;10.1显示为10.1。 2、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。 例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13 3、”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。例:代码:”00000”。1234567显示为1234567;123显示为00123 代码:”00.000”。100.14显示为100.140;1.1显示为01.100 4、”@”:文本占位符,如果只使用单个@,作用是引用原始文本, 要在输入数字数据之后自动添加文本,使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@”文本内容”。@符号的位置决定了Excel 输入的数字数据相对于添加文本的位置。 如果使用多个@,则可以重复文本。 例:代码”;;;" 集团"@"部" “,财务显示为:集团财务部 代码”;;;@@@“,财务显示为:财务财务财务 5、”*”:重复下一次字符,直到充满列宽。 例:代码:”@*-”。”ABC ”显示为”ABC-------------------” 可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************ 6、”,”:千位分隔符

    例:代码” #,###“,12000显示为:12,000 7、\:用这种格式显示下一个字符。" 文本" ,显示双引号里面的文本。 “\”:显示下一个字符。和“”””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。 例:代码" 人民币 "#,##0,,"百万" ,与\人民币 #,##0,,\百万,输入1234567890显示为:人民币 1,235百万 8、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数 例:分别设置单元格格式为”??.?? ”和”???.??? ”, 对齐结果如下: 输入12.1212 显示12.12 12.121 9、颜色:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。 例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数 为青色,负数显示红色,零显示黄色,文本则显示为兰色 [颜色N]:是调用调色板中颜色,N 是0~56之间的整数。例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。、 10、条件:可以单元格内容判断后再设置格式。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。例:代码:“[>0]”正数”;[=0];”零”;负数”。显示结果是单元格数值大于零显示正数,等于0显示零,小于零显示“负数”。 11、“!”:显示“" ”。由于引号是代码常用的符号。在单元格中是无法用""" 来显示出来“" ”。要想显示出来,须在前加入“!”

    Struts2校验器类型详解

    Struts2校验器类型详解 一、Struts2内建校验器 位于xwork-2.0.4.jar压缩包中(com.opensymphony.xwork2.validator.validators)有个文件default.xml ,该文件中定义了Struts2框架内建的校验器。default.xml文件定义了常用的校验器类型。 首先搞清楚: struts2字段校验器与非字段校验器的区别 字段校验器配置格式: 参数值 .................... 校验失败后的提示信息 非字段校验器配置格式:

    需要被校验的字段 参数值 校验失败后的提示信息 非字段校验:先指定校验器:由谁来校验,来校验谁! 字段校验器:先指定校验的属性:我来校验谁,由谁来校验! 下面是对应在包中的类:

    怎样制作EXCEL表格

    如何制作电子表格 1 、打开EXCL电子表格程序 2、页面设置 单击文件→页面设置→选纸张,设置纸张大小→选页边距,设置上、下、左、右,横向或纵向→单击确定。 3、设置好页面就会有虚线框出现——你在虚线框内编辑——不要超出虚线框外——不然超出部分打印不出来的——第一行一般都是标题行——从第二行或者第三行开始——输入你的资料,不论有多少列,都必须在虚线框内 4、输入完毕后→选中表格内容(标题行一般不选,因为它不需要边框)→点菜单栏“格式”→单元格→边框→外边框——这是为你输入的内容设置边框——还可以在单元格对话框里设置“对齐”方式——一般水平和垂直都设为居中或常规。 注:想要对表格设置的格式几乎都是“格式”菜单里的“单元格”对话框里,你自己打开看看,练习练习就晓得它们的用途了。 * 制作表格更轻松让系统自动生成表头的方法。 当我们制作的表格有好多页的时候(如成绩统计表等),为便于观看,最好是每一页都添加一个相同的表头。如果表格文件页数很少,通过手工的方法就可以很容易地实现。但当一个表格文件多达数十页的时候,再一个一个地逐页添加,不仅费事,还容易出错。那么,有没有办法让系统自动生成呢? 1. 在Word 2003中 打开Word 2003表格文档,选中第一页表的表头,然后点击“表格→标题行重复”。假如表头有两行内容,选中开头两行,这样,在后面的每一页,都会将这两行的内容作为表头。 2.在Excel 2003中 (1)打开Excel表格文档,点击“文件→页面设置”。 (2)在调出的“页面设置”对话框中,选择“工作表”选项卡,在“顶端标题行”栏中输入表头行号,其中,“$1”表示第1行,“$1:$2”表示第1、2行。本例中设置为“$1:$2”,打印出来的每页表格便都有同第1、2两行同样内容的表头。

    excel表格制作方法

    Excel表格的35招必学秘技 也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数实现过上千次的复杂运算,也许你认为Excel也不过如此,甚至了无新意。但我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的百分之一。本专题从Excel中的一些鲜为人知的技巧入手,领略一下关于Excel的别样风情。 一、让不同类型数据用不同颜色显示 在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500 元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。 1.打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→条件格式”命令,打开“条件格式”对话框。单击第二个方框右侧的下拉按钮,选中“大于或等于”选项,在后面的方框中输入数值“2000”。单击“格式”按钮,打开“单元格格式”对话框,将“字体”的“颜色”设置为“红色”。 2.按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于1500,字体设置为“蓝色”;小于1000,字体设置为“棕色”)。 3.设置完成后,按下“确定”按钮。 看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出来了。 二、建立分类下拉列表填充项 我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功能建了一个分类下拉列表填充项。 1.在Sheet2中,将企业名称按类别(如“工业企业”、“商业企业”、“个体企业”等)分别输入不同列中,建立一个企业名称数据库。 2.选中A列(“工业企业”名称所在列),在“名称”栏内,输入“工业企业”字符后,按“回车”键进行确认。 仿照上面的操作,将B、C……列分别命名为“商业企业”、“个体企业”…… 3.切换到Sheet1中,选中需要输入“企业类别”的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框。在“设置”标签中,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面的“来源”方框中,输入“工业企业”,“商业企业”,“个体企业”……序列(各元素之间用英文逗号隔开),确定退出。 再选中需要输入企业名称的列(如D列),再打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。 4.选中C列任意单元格(如C4),单击右侧下拉按钮,选择相应的“企业类别”填入单元格中。然后选中该单元格对应的D列单元格(如D4),单击下拉按钮,即可从相应类别的企业名称列表中选择需要的企业名称填入该单元格中。 提示:在以后打印报表时,如果不需要打印“企业类别”列,可以选中该列,右击鼠标,选“隐藏”选项,将该列隐藏起来即可。

    WEB技术应用基础习题及答案

    1. 以下几个IP地址中()不是合法的IP地址? A.204.1546.21.106 B.127.0.0.1 C.175.146.87.175 D.202.96.0.255 2. HTTP的默认端号是()。 A.80 B.8080 C.70 D.21 3.如果网页(),该网页是动态的。 A.有GIF动画图片动来动去 B.有动画广告飞来飞去 C.能看影视 D.是动态实时生成的 4.以下选项中()是不正确的URL。 A.https://www.wendangku.net/doc/9510653645.html, https://www.wendangku.net/doc/9510653645.html, C.http://localhost:8080/bookshop/index.jsp D.ftp://ftp.link/down/search.jsp 5.客户发出请求、服务器端响应请求过程中,说法()是正确的。 A.在客户发起请求时,DNS域名解析地址前,浏览器与服务器建立连接 B.客户在浏览器上看到结果后,释放浏览器与服务器连接 C.客户端直接调用数据库数据 D.Web服务器把结果页面发送给浏览器后,浏览器与服务器断开连接 6.以下说法()是正确的。A.因特网和万维网是一回事B.万维网是网络的网络 C.万维网是一个运行在Internet上的全球性、分布式信息发布系统 D.万维网是覆盖全球的网络 1.简述名词:计算机网络、互联网和Inernet。 1.为使页面具有红背景色()语句正确。 A. B. C. D. 2.以下代码段显示()。

    • 列表
    • 列表
    A. 以字母a开始的有序列表 B. 以实心园点标记的无序列表 C. 以实心园点标记的无序列表 D. 描述列表 3.对以下语句描述()正确。 A. 在页面上插入一幅图像 B. 在页面上插入一首歌曲 C. 插入一段影视 D. 插入电子信箱 4. 为链接到文件chaolianjie.html中名为“内容简介”位置,语句()正确。 A. B. C. D. 5.以下代码段创建一个()的表格
    Web技术 Web技术
    A. 一行两列边框为1 B. 两行一列没有边框

    Excel单元格自定义数字格式

    Excel单元格自定义格式一 一、代码结构组 代码结构组成分为四个部分,中间用“;”号分隔,具体如下:正数格式;负数格式;零格式;文本格式 二、各个参数的涵义 1、“G/通用格式”:以常规的数字显示,相当于“分类”列表中的“常规”选项。 例:代码:“G/通用格式”。10显示为10;10.1显示为10.1。 2、“0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。 例:代码:“00000”。1234567显示为1234567;123显示为00123代码:“00.000”。100.14显示为100.140;1.1显示为 01.100 3、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于“#”的数量,则按“#”的位数四舍五入。 例:代码:“###.##”,12.1显示为12.10;12.1263显示为:12.13 4、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数。 例:代码:分别设置单元格格式为“??.??“和“???.???”,对齐结果为以小数点对齐。

    代码:设置单元格自定义格式“#??/???”。“1.25”显示为数学上的1又4分之1的写法。 5、“.”:小数点。如果外加双引号则为字符。 例:代码:“0.#”。“11.23”显示为“11.2” 6、“%”:百分比。 例:代码:“#%”。“0.1”显示为“10%” 7、“,”:千位分隔符。数字使用千位分隔符。如时在代码中“,”后空,则把原来的数字缩小1000倍。 例:代码:“#,###”。“10000”显示为“10,000” 代码:“#,”。10000显示为10。 代码:“#,,”。“1000000”显示为“1”。 8、”@”:文本占位符。如果只使用单个@,作用是引用原始文本,要在输入数字数据之前自动添加文本,使用自定义格式为:"文本内容"@;要在输入数字数据之后自动添加文本,使用自定义格式为:@"文本内容"。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。如果使用多个@,则可以重复文本。 例:代码:"集团"@"部"财务显示为:集团财务部 代码:"@@@",财务显示为:财务财务财务 9、“/”:显示下一个字符。和“”””用途相同都是显是输入的文本,且输入后会自动转变为双引号表达。不同的“/”是显后面的文本,双引号是显示双引中间的文本。 例:代码:“\ABC”或“”ABC””。均显示为“ABC”

    实验四 Web表单技术

    实验四Web表单技术 一、实验目的 1.掌握GET和POST两者的区别。 2.了解文件上传的机制。 3.掌握HTTP请求中POST文件上传方式。 4. 掌握PHP提供的strip_tags()函数 二、实验准备 1.准备实验开发环境PHPWamp开发软件。 2.准备DreamWeaver等页面开发软件,建网站文件夹,并创建一个网站。3.准备实验素材进行程序开发设计。 三、实验内容及步骤 1. 在表单中数据的传输方式有两种,一种是GET方式,另一种是POST方式,通过对比,分析两者的区别,了解两种传输数据方式的特点。 (1)设计思路 1)创建一个表单,分别以GET方式和POST方式发送数据,数据接收页面为 showinfo.php。 2)表单中设置以下几个表单元素,姓名、年龄、性别,通过按钮点击提交,可 以重置。 3)在showinfo.php中接收传输的数据,并打印输出到浏览器。 (2)代码实现 1)首先创建一个以GET方式请求的表单,表单中有以上说明的表单元素,在表单元素中赋予相应的值,发送给showinfo.php页面。

    GET方式请求数据
    姓名:
    年龄:
    性别:
    以上代码输出结果: 2)在showinfo.php文件中编写接收get请求的数据并输出:

    HTML表单页面的基本结构

    HTML表单页面的基本结构 本章开始讲解表单和框架,其中重点是如何使用表单中的各种元素.如何使用框架制作多窗框页面;难点是表单中的post方法和get方法的区别.窗口的target 属性。为了能在一个页面中显示多个HTML文档.我们还要介绍框架。 本节单词记忆:标签 1.form 2.input属性 1.action 2.method 3.size 4.maxlength 5.checked 网页学习网提示:html语言非常简单,不需要逻辑理解,而绝大部分朋友觉得它难以掌握,90%的原因在于英语单词不过关,所以每节记忆几个单词是非常有必要的。 热衷于上网的用户经常会在网上看到一些会员注册页面、购买某个商品收集信息页面、网上调查问卷页面、搜索工具页面等,这些页面是什么做的呢?我不敢说完全是用表单做的,但我敢肯定至少包含有表单,所以表单主要用来收集客户端相关信息,使网页具有交互功能。本节主要讨论如何使用HTML来创建表单,然后向表单中添加表单元素。 网页中的表单用途很广,而且还在不断发展。下面我们就列举一些典型的表单应用: ●在用户注册某种服务或事件时收集姓名、地址、电话号码、电子邮件和其他信息。 ●为收集购买某个商品的订单信息。例如,如果想通过Intemet购买一本书,则必须填写姓名、联系电话、邮寄地址、付款方式和其他相关信息。 ● 收集关于调查问卷信息。大部分提供服务性的网站都鼓励用户参与调查问卷,提供反馈信息。这些反馈信息除了维系良好的客户关系外,它还有助于改进和提高网站的服务质量,从而使网站的服务更具人性化,吸引更多的浏览者。 ●为网站提供搜索工具。提供各种信息的站点通常会为用户提供一个搜索框,使用户能够更快地找到想要的信息,如比较著名的搜索网站:谷歌(http: //https://www.wendangku.net/doc/9510653645.html,)、百度(http://https://www.wendangku.net/doc/9510653645.html,)等。 如图1所示是网页上的一个典型表单。

    struts2复习题(含答案)

    Struts2复习题 1.以下属于struts2的控制器组件是: A.Action B.ActionForm C.ActionServlet D.dispatchAction 2.以下属于struts2的体系结构的是:(多选) A.struts2控制器组件 B.struts2配置文件 C.FilterDispathcer D.Action 3.以下属于struts2配置文件中的配置元素是:(多选) A. B. C. D. 4.关于struts1和struts2对比的说法正确的是: A.struts1要求Action类继承struts1框架中的Action父类,struts2中则不一定需要继承,可以是POJO类 B.struts1中的Action不是线程安全的,而struts2中的Action是线程安全的 C.struts1和struts2中都使用ActionForm对象封装用户的请求数据 D.struts1使用OGNL表达式语言来支持页面效果,struts2通过ValueStack技术使标签库访问值 5.以下关于ValueStack说法正确的是:(多选) A.每个Action对象实例拥有一个ValueStack对象 B.每个Action对象实例拥有多个ValueStack对象 C.Action中封装了需要传入下一个页面的值,这些值封装在ValueStack对象中 D.ValueStack会在请求开始时被创建,请求结束时消亡 6.关于struts2配置文件说法正确的是: A.必须在WEB-INF/classes目录下 B.名字必须为struts.xml C.配置Action时,必须配置包信息 D.使用元素配置转发 7.在struts2配置中用()元素来配置常量: A. B. C. D. 8.关于struts2包的说法正确的是: A.struts2框架使用包来管理常量 B.struts2框架定义包时必须指定name属性 C.struts2框架中配置包时,必须继承自struts-default包,否则会报错 D.struts2框架中使用包来管理Action 9.struts2中获取Servlet API的方法正确的是:(多选) A.使用ActionContext对象以解耦合的方法访问Servlet API B.使用ServletActionContext对象以解耦合的方式访问Servlet API C.使用ActionContext对象以耦合的方式访问Servlet API D.使用ServletActionContext对象以耦合的方式访问Servlet API 10.struts2动态调用的格式为: A.ActionName?methodName.action B.ActionName! methodName.action C.ActionName*methodName.action D.ActionName@mathodName.action 11.如果要实现struts2的数据校验功能 A.普通Action类可以实现

    单元格格式中的自定义

    揭秘Excel表格中的自定义格式 在Excel中,有时我们会希望数字的后面能带上数字的单位,例如长度单位“m”、“mm”,重量单位“kg”、“t”、货币单位:“元”、“万元”等。如果直接把这些单位写在数字的后面,单元格内的这些数字是不能参加任何计算的。为了解决这个问题,Excel为我们设计了单元格格式的“自定义”的功能。下面我就来说说如何自定义单元格格式。 工具/原料 ? Excel或者WPS表格 ? 方法/步骤 . 如下图所示,我希望在D3单元格的数字后面加上重量的单位“吨”,该如何实现呢?具体操作如下: . 将光标移动到D3单元格上方,然后在单击鼠标右键,在弹出的菜单中选中“设置单元格格式”。

    . . . . 在弹出的“单元格格式”窗口的“数字”选项卡中选择“自定义”分类,(软件默认分类是“常规”)。 .

    . . 在“类型”下面的输入框内输入“#.###”吨””,或者“0.000”吨””(如输入框内有文字,请在输入前将其删除),然后点“确认”。“#”或者“0”都是Excel表格中的数字占位符,表示该位子有一个数字,一个数字占位符代表一位数字。两种不同占位符的区别是:如果所占位中有数字“0”,“#”占位符只会显示有意义的“0”,如“2.650”会显示为“2.65”,如果用“0.000”格式,则“2.650”显示为“2.650”。读者如果想有更深刻的了解,可以自己在Excel表格中试试。 .

    .

    . . 设置完成后再回头看看刚刚的D3单元格的显示内容,已经发生了改变了,变成了“3.244吨”。 .

    . . 同理,可以设置下图中的价格栏的单位。虽然数字后面多了单位,但是并不影响其加减乘除等计算。 . .

    struts2 实验报告

    1.系统分析与设计 1.1 系统功能描述 本系统是个非常简单的注册、登录系统。本系统的实现是基于Struts2、Spring、Hibernate 三个框架,系统功能单一,业务逻辑简单。 当用户注册信用户时,就是向系统中增加一个新用户,对应的数据库增加一条记录。 当用户输入注册信息时,系统提供了基本的输入验证判断用户输入是否合法,只有当用户输入满足基本输入要求时,才会被提交到实际的登录系统,进行实际的登录处理。 系统还使用了随机产生的图形验证码来防止刷新,防止用户通过单击浏览器的书安心按钮来重复注册多个用户。 系统还提供了一种Ajax方式来验证用户输入的注册名是否有效,系统要求所有的用户名不能重复。故当用户输完用户名后,系统立即在页面上方提示用户该用户名是否可用,如果系统中没有该用户名,则系统提示该用户名可用;否则提示用户该用户名重复,用户必须重新选择用户名注册。 当用户注册一个新用户名之后,就可以使用系统的登录功能来登录系统了,用户输入登录用的用户名、密码后,系统一样提供了基本的输入校验。 除此之外,系统还采用了随机产生图形验证码来防止恶意用户的暴力破解,系统随机生成一个图形验证码,而用户登录必须输入图形验证码中显示的字符串,只有用户输入的字符串和系统随机生成的验证码字符相同时,系统才允许用户登录。 1.2 系统功能流程

    1.3 数据库设计 相关的映射文件: 一旦提供了上面的映射文件,Hibernate 就可以理解User 和user_table 之间的对应关系。 2.系统实现与测试 2.1 系统采用的关键技术 MVC 框架采用了Struts2框架,Struts2框架的易用性,极好的简化了系统的MVC 层的实现;本系统使用了Struts2的JSON 插件来完成Ajax 功能,除此之外本系统为了避免进行底层的Ajax 交互,还是用了一个简单Prototype.js 函数库,用以简化Ajax 编程。Struts2框架的稳定性,为系统的稳定运行提供了保证。

    表单校验和方法界面标准

    公共问题梳理 1表单验证 表单验证分为客户端验证和服务器端验证。 1.1客户端验证 系统采用jquery.ext.js的公共表单验证来校验表单, 上图中,大部分的验证场景都已经涵盖。当验证方法不满足验证需求是,自行添加验证代码到该函数中,并进行功能验证。 字段长度校验。由于表单公共校验方法的maxlength,minlength没有提示信息,所以表单校验长度的方法使用range,rangelength来代替,禁止使用maxlength. rangelength用以判断字符串。 range 用以判断数字。

    校验字符串的时候,需要根据数据库字段的长度来计算,例如某个表的字段长度varchar2(500),长度应该是500/2.5=200.除不尽的时候,舍弃余数。 例如: 每个输入字段校验的范围:应基本包含长度,数据类型,是否必填。另外,若非必填项,当用户输入时,也需要校验。 上传文件类表单校验:需要在swf-upload组件中定义上传的文件大小,类型。服务器端也需要以白名单的方式来校验文件类型,文件大小。 重复提交校验:客户端需要控制提交按钮点击的次数,第一次点击后,把提交按钮禁用掉。服务器端重复提交可以采用拦截器方式来做判断。决定:客户端和服务器端都做校验。 修改方法:每个小组负责页面的表单逻辑验证,包括新开发功能和已有功能。 1.2 服务器端校验 采用公用的注解类来标记表单属性。Hibernate-validtor提供了比较通用的校验类,但一些特殊的校验需要自己定义。为了保证表单提交时,服务器端验证失败,用户输入数据不丢失,FORM的提交方式需要改造,采用AJAX-FORM的提交方式。 具体实现方法:需要在FORM-BEAN中添加注解,例如下图:

    电子表格操作大全

    (1)分数的输入 如果直接输入“1/5”,系统会将其变为“1月5日”,解决办法是:先输入“0”,然后输入空格,再输入分数“1/5”。 (2)序列“001”的输入 如果直接输入“001”,系统会自动判断001为数据1,解决办法是:首先输入“'”(西文单引号),然后输入“001”。 (3)日期的输入 如果要输入“4月5日”,直接输入“4/5”,再敲回车就行了。如果要输入当前日期,按一下“Ctrl+;”键。 (4)填充条纹 如果想在工作簿中加入漂亮的横条纹,可以利用对齐方式中的填充功能。先在一单元格内填入“*”或“~”等符号,然后单击此单元格,向右拖动鼠标,选中横向若干单元格,单击“格式”菜单,选中“单元格”命令,在弹出的“单元格格式”菜单中,选择“对齐”选项卡,在水平对齐下拉列表中选择“填充”,单击“确定”按钮(如图1)。

    (5)多张工作表中输入相同的内容 几个工作表中同一位置填入同一数据时,可以选中一张工作表,然后按住Ctrl键,再单击窗口左下角的Sheet1、Sheet2......来直接选择需要输入相同内容的多个工作表,接着在其中的任意一个工作表中输入这些相同的数据,此时这些数据会自动出现在选中的其它工作表之中。输入完毕之后,再次按下键盘上的Ctrl键,然后使用鼠标左键单击所选择的多个工作表,解除这些工作表的联系,否则在一张表单中输入的数据会接着出现在选中的其它工作表内。 (6)不连续单元格填充同一数据 选中一个单元格,按住Ctrl键,用鼠标单击其他单元格,就将这些单元格全部都选中了。在编辑区中输入数据,然后按住Ctrl键,同时敲一下回车,在所有选中的单元格中都出现了这一数据。

    EXCEL中单元格格式的自定义详解.

    EXCEL中单元格格式的自定义详解 excel单元格自定义格式1 代码结构组成分为四个部分,中间用“;”号分隔,具体如下: 正数格式;负数格式;零格式;文本格式 各个参数的涵义 1、“G/通用格式”:以常规的数字显示,相当于“分类”列表中的“常规”选项。 例:代码:“G/通用格式”。10显示为10;10.1显示为10.1。 2、“0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。 例:代码:“00000”。1234567显示为1234567;123显示为00123 代码:“00.000”。100.14显示为100.140;1.1显示为01.100 3、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于“#”的数量,则按“#”的位数四舍五入。

    例:代码:“###.##”,12.1显示为12.10;12.1263显示为:12.13 4、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数 例:分别设置单元格格式为“??.??“和“???.???”,对齐结果如下:例:设置单元格自定义格式“# ??/???”。“1.25”显示为“1 1/4” 5、“.”:小数点。如果外加双引号则为字符。 例:代码“0.#”。“11.23”显示为“11.2” 6、“%”:百分比。 例:代码“#%”。“0.1”显示为“10%” 7、“,”:千位分隔符。数字使用千位分隔符。如时在代码中“,”后空,则把原来的数字缩小1000倍。 例:代码:“#,###”。“10000”显示为“10,000” 代码:“#,”。10000显示为10。

    Struts2校验器类型

    Struts2校验器类型 10.3 验证器类型 可以把验证器类型分为两种:字段验证器和动作验证器。其中,字段验证器就像前面演示的那样,只验证提交的表单内的单个字段;而动作验证器一般验证提交的表单内的多个字段的关系,比如,录入产品信息的时候,产品的进价不能高于售价。 无论是哪种验证器,都需要考虑以下几个问题: ?验证谁? ?使用什么条件验证? ?不满足条件显示什么结果? ?不满足验证条件时显示的结果出现在页面的什么位置? 10.3.1字段验证器 字段验证器用来验证提交的表单内的单个字段,如同前面的示例,在验证文件里: java代码: 查看复制到剪贴板打印 1. 2. 3. 4. 18 5. 年龄必须在18岁以上,您输入的是${user.age} 6. 7. 8. ?元素作为整个验证文件的根元素。 ?元素的子元素就是字段验证器,元素的name属性就是这个字段验证器要验证的哪个字段。 ?一个元素可以有多个元素。 ?每一个元素是对这个字段的一种验证条件,它的type属性就是具体的验证器,在这里引用了内置的int验证器。 ?还可以给元素添加子元素来设置验证条件的参数,添加子元素来设置验证错误时返回的信息。在元素中写出的文本将直接作为错误信息返回,如果元素存在key属性,它将引用国际化信息。 除了以上的这种写法,还有另外一种注册的方式,虽然写出来的xml配置不同,但是所需要的参数,以及运行时所起的作用都和以上的写法一模一样: java代码: 查看复制到剪贴板打印 1.

    表单的验证js以及事件的注册代码详解

    比fastdb更强的 nosql数据库 ,比较两个字符串,返回相同的最大的字符串,其他返回空遍历文件夹中最大的文件,表单的验证js以及事件的注册 初始化openldap的初始化状态 ,处理 Oracle SQL in 超过1000 的解决方案 从服务器下载文件的cmd脚本 [Shell/批处理],从国家统计局爬取山东省市区县乡镇 从国家统计局爬取山东省市区县乡镇 ,对内存中的图片数据编解码 对于一些筛选之类的功能使用NSSet or NSMutableS Status ListDelete(Sqlist &L,int i) //删除i位置的数据 { if(i<1||i>L.length) return ERROR; for(int j=i;j<=L.length-1;j++) { L.elem[j-1]=L.elem[j]; } L.length--; return OK; } // 多进程间队列和子类的应用 //多进程间共享内存和全局对象 //分享几个简易的CSS3点击响应动画示例 Status ListInput(Sqlist &L) //数据录入 { if(L.length==-1) return ERROR; cout<<"Length="<>n; L.length+=n; ElemType e; cout<<"Length="<>e; ListInsert(L,i+1,e); --L.length; //每次插入都会L.length++,所以此处--防止死循环 //高并发web服务器nginx源码全面中文 } return OK; } Status ListSort(Sqlist &L) //排序,冒泡算法 {

    相关文档
    相关文档 最新文档