首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单的奇怪结果:表单中的选项:选择

表单的奇怪结果:表单中的选项:选择
EN

Stack Overflow用户
提问于 2016-11-03 13:53:39
回答 1查看 75关注 0票数 0

我正在尝试从form:select标记中预选一些值。那么,让我们来看看下面的示例类:

代码语言:javascript
复制
public class Post
{
    private boolean anonymize;
    private boolean videoRequired;

    /* getters, setters */
}

如您所见,有两个布尔字段。我在JSP中使用的第一个例子如下:

代码语言:javascript
复制
<label>Anonymize</label>
<form:select path="anonymize" id="anonymize" class="form-control">
    <form:option value="true" label="Yes" selected="${ (post.anonymize) ? true : ''}" />
    <form:option value="false" label="No" selected="${ (!post.anonymize) ? true : ''}" />
</form:select>

当我检查该元素时,结果是(假设anonymizetrue):

代码语言:javascript
复制
<select id="anonymize" name="anonymize" class="form-control">
    <option selected="true" value="true">Yes</option>
    <option value="false">No</option>
</select>

到目前一切尚好。

现在,我对我的另一个布尔字段videoRequired做同样的事情。首先是JSP:

代码语言:javascript
复制
<label>Video required</label>
<form:select path="videoRequired" id="videoRequired" class="form-control">
    <form:option value="true" label="Yes" selected="${ (post.videoRequired) ? true : '' }" />
    <form:option value="false" label="No" selected="${ (!post.videoRequired) ? true : '' }" />          
</form:select>

这将导致(同样,假设videoRequired也是true):

代码语言:javascript
复制
<label>Video required</label>
<select id="videoRequired" name="videoRequired" class="form-control">
    <option selected="true" value="true">Yes</option>
    <option value="false" selected="selected">No</option>           
</select>

看看这一行:<option value="false" selected="selected">No</option>

这怎么会发生呢?我已经坚持了几个小时了,我甚至尝试过使用<c:choose>标记,然后对selected属性进行硬编码--它给了我完全相同的奇怪结果。有人能解释一下我哪里出了问题吗?因为我在这两个领域都做了同样的事情,所以我正在努力工作,但是其中一个仍然有效,另一个没有。顺便说一下,当我查看mysql时,两个字段都被正确设置了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-03 14:33:03

为了预选一个form:select元素,可以在返回视图的控制器方法中将相应的变量anonymize设置为true。

代码语言:javascript
复制
@Controller
public String getForm(ModelMap model, Post post){
    post.setVideoRequired(true);
    return "view-name";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40403341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档