带有HTML5布尔属性的Java Spring Form字段
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了带有HTML5布尔属性的Java Spring Form字段,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1711字,纯文字阅读大概需要3分钟。
内容图文
![带有HTML5布尔属性的Java Spring Form字段](/upload/InfoBanner/zyjiaocheng/777/c2b3eecd094f4091a8e4fd24de14718a.jpg)
我想将属性disabled,required和autofocus添加到Java Spring Forms 3.1.感谢some questions我发现了怎么样,但是我无法让它在boolean attributes上工作.
我们有一个表单实用程序库,它包装Spring Form,以便我们可以添加标签和其他东西.
期望的JSP:
<formUtil:formInputBox ... autofocus="true" />
期望的输出HTML:
<label>...<input type="text" ... autofocus /></label>
这在我们的formUtil中作为JSP:include但不使用Spring:
<input type="text" ... <c:if test="${param.autofocus=='true'}">autofocus</c:if> />
这在我们的formUtil Tag中不起作用但使用Spring:
<form:input ... <c:if test="${autofocus==true}">autofocus</c:if> />
// Gives exception: `Unterminated <form:input tag`.
题:
如何使用所需输入获得所需的输出?我想在Spring中保持数据绑定等,所以我不想让自己的表单字段起作用.
注意:
HTML5中的布尔属性不支持布尔值,因此我无法使用autofocus = true.它必须只是自动对焦或自动对焦=“自动对焦”.
解决方法:
据我所知,你不能在弹簧标签内放置核心标签
<form:input ... <c:if test="${autofocus==true}">autofocus</c:if> />
可以在spring标签属性的值中插入jstl表达式,但它们不会帮助你,因为html5只检查是否存在自动对焦.
<s:set var="autofocusVal" value=""/>
<c:if test="${autofocus}">
<s:set var="autofocusVal" value="autofocus"/>
</c:if>
<form:input autofocus="${autofocusVal}" />
但你可以这样做:
<c:choose>
<c:when test="${autofocus}">
<form:input autofocus="autofocus" />
</c:when>
<c:otherwise>
<form:input />
</c:otherwise>
</c:choose>
这是非常冗长和难以保持的,特别是如果你想要添加几个属性.
另一个糟糕的解决方法是设置data-xxx属性以使用自动对焦标记标记,并使用javascript通过添加属性autofocus修改html,其中data-autofocus =“true”:
<form:input data-autofocus="${autofocus}" />
更优雅的方式(我现在可以想到)是使用您要添加的属性扩展该标记,如下所述:https://stackoverflow.com/a/9891714/249699
内容总结
以上是互联网集市为您收集整理的带有HTML5布尔属性的Java Spring Form字段全部内容,希望文章能够帮你解决带有HTML5布尔属性的Java Spring Form字段所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。