checkbox的name与JavaBean的交互时发现的一个现象
一个页面:
<form action="reg.jsp" method="post">
<ul>
<li>算法选择</li>
<li><input type="checkbox" name="algorithms" value="plus">加法
<input type="checkbox" name="algorithms" value="minus">减法
<input type="checkbox" name="algorithms" value="multi">乘法
<input type="checkbox" name="algorithms" value="divide">除法
</li>
</ul>
</form>
提交到另一个页面,代码如下:
<body>
<jsp:useBean id="convertor" class="sabreTest.Convertor"></jsp:useBean>
<jsp:useBean id="al" class="Algorithm.AlgorithmConfiguration"></jsp:useBean> <jsp:setProperty property="*" name="al"/> 选择的算法:<%=convertor.convert(al.getAlgorithms())%> </body>
package Algorithm;
public class AlgorithmConfiguration {
private String[] algorithms;
public String[] getAlgorithms() {
return algorithms;
}
public void setAlgorithms(String[] algorithms) {
this.algorithms = algorithms;
}
}
发现的现象:第一段代码中,如果checkbox的name是Algorithms,也就是首字母大写,并且第三段代码也改成Algorithms,重新编译发布,就无法被第二个页面获取和输出,只有小写时才可以。
下面进行其它方面的测试:
第一次测试,即发现的现象,属性的首字母大写时,即Algorithms,方法名为getAlgorithms,提交后页面无法获取,均为小写字母时,即属性名为algorithms,方法名为getAlgorithms,可以获取字符串值。
第二次测试,属性名改为algorithmS,页面上的checkbox的name随之更改,提交后可以获取字符串值。
第三次测试,属性名改为AlgorithmS,页面上的checkbox的name随之更改,提交后获取不到字符串值。
第四次测试,属性名改为aLGORITHMS,页面上的checkbox的name随之更改,提交后可以获取字符串值。与此同时,发现属性名改为aLGORITHMS时,Eclipse环境下,属性上右键,自动生成Getter和Setter时,get后面的字母没有自动变为大写,即,此时的get方法是getaLGORITHMS()这样的,而前面的都会把首字母自动变为大写。
第五次测试,手动把第四次测试中的getaLGORITHMS()的方法改为getALGORITHMS()后,获取不到字符串值。
第六次测试,属性名改为Algorithms,同时方法名改为getalgorithms,提交后获取不到字符串值。
第七次测试,属性名改为algorithms,同时方法名改为getalgorithms,提交后可以获取字符串值。
第八次测试,属性名改为ALGORITHMS,同时方法名改为getALGORITHMS,提交后可以获取字符串值。
这是什么规律?目前我没看出来。
似乎,属性的首字母小写,都可以获取值。如果首字母大写,那么必须要全部大写,才能获取值。
以前看过一些习惯于用java的朋友写的代码,特别喜欢用全程小写,不知道是不是与这个现象有关。而我习惯于驼峰命名法。
这是为什么?也许Java源码可以一窥端倪。
checkbox的name与JavaBean的交互时发现的一个现象的更多相关文章
- Java 读数据库字段时发现的一个现象
早上发现有一个网名叫“帅!是不需要理由”的一个人,在后台只能看到“帅!是不需要理”,“由”字就是不显示出来. 经过分析发现,在Access数据库中,name这个字段的长度是15,因为我知道Access ...
- iOS JavaScriptCore与H5交互时出现异常提示
在利用JavaScriptCore与H5交互时出现异常提示: This application is modifying the autolayout engine from a background ...
- js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false
用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝 ...
- JavaBean+Servlet 开发时,JavaBean 编写问题
在开发 JavaBean 时,遇见一个问题: ***** 表单字段为空,提交时出现 nullPointerException 异常: 表单字段不为空,提交正常. 使用 JavaBean ,JSP页 ...
- ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识.具有很好的参考价值.下面跟着小编一起来看下吧 前言 最近公司项目进行架构调整,由原来的三层架构改 ...
- 使用Unity NGUI-InputField组件输入时发现显示为白色就是看不到字体
今天在接入android支付宝 SDK时,打包运行时,发现使用Unity NGUI-InputField组件输入时发现显示为白色就是看不到字体,查找一下发现是与android交互存在的问题, 只需在A ...
- 解决CSharpGL使用CGCompiler时发现的几个问题
解决CSharpGL使用CGCompiler时发现的几个问题 为了获取CSharpShadingLanguage的token流,我设计了这样一个文法: <Expression> ::= & ...
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...
随机推荐
- (转)x264 编码流程
转自:http://alphamailpost.blog.163.com/blog/static/20111808120128111160728/ http://www.usr.cc/thread-5 ...
- Dll 使用 PChar 参数的小例子 - 回复 "linximf" 的问题
本例效果图: Dll 文件: library Lib; uses SysUtils, Classes; {$R *.res} procedure Test(p: PChar); const T ...
- ASP.NET MVC自定义验证Authorize Attribute(包含cookie helper)
前几天Insus.NET有在数据库实现过对某一字段进行加密码与解密<使用EncryptByPassPhrase和DecryptByPassPhrase对MS SQLServer某一字段时行加密和 ...
- Javascript定义类(class)的最新方法
极简主义法 3.1 封装 这种方法不使用this和prototype,代码部署起来非常简单,这大概也是它被叫做"极简主义法"的原因. 首先,它也是用一个对象模拟"类&qu ...
- mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现?
mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现? mysql中实现方式如下: select merchantId, NameCn, send_date, deliver_name ...
- linux命令在文件中根据命令查找
find . -type f -name "*.tmp" | xargs grep -ri "2016-08-30 04:00:00|2016-08-30 05:00:0 ...
- osgEarth的agglite插件使用例子feature_rasterize.earth
<!-- osgEarth Sample Demonstrates use of the "agglite" feature rasterization driver. -- ...
- ScrollView拉到尽头时出现阴影的解决方法
<code class="hljs markdown has-numbering" style="display: block; padding: 0px; col ...
- android 仿QQ手机版
千人2群开启,欢迎大家围观打酱油,群号145667827 您当前位置 : JavaApk-安卓应用游戏源码服务专家 » QQ » Android项目源码界面超级华丽的仿QQ最新版本 Andro ...
- js遍历商品编码
function bathAuditGoods(state) { var selections = $("#deliveryGrid").datagrid('getSelectio ...