2011-09-27 91 views
1

我对使用Struts 1.2构建的现有项目进行了一些小改动。我需要在默认选中的表单上有一个复选框。我是Struts的新手。Struts 1如何设置复选框默认选中

据我所知,我不能为表单重置方法上的复选框设置默认值,实际上建议在复位方法中将复选框的值设置为false。我能想到的唯一方法是检查POST参数,但我认为这不是一个好的解决方案。

是否有一个正确的Struts方式来使用默认选中复选框?

+0

我猜这两个答案都是正确的 为什么你没有接受任何这些? – Raheel

回答

3

您有:

<html:checkbox property="multiRole" value="Y" /> 

,如果你想用它呈现在页面默认勾选,你需要设置属性“多用途”在动作形式为“Y”

2

为什么”您是否在重置中设置了默认值?这主要是它的目的。您也可以在最初显示表单的操作中设置一个值。

+4

,因为如果我在重置方法中将值设置为“On”并且用户未选中它,该值将不会反映在ActionForm中,所以它会总是_checked_ - 你可以参考这里:[struts-taglib doc](http://struts.apache.org/1.x/struts-taglib/tlddoc/html/checkbox.html) –

+0

显然你会设置它到/ correc吨/价值,其决定取决于其他一切是如何建立的。你说你想要一个默认选中的复选框,但这实际上并不是你想要的。 –

+1

评论downvotes有帮助。 'reset'方法*是设置默认复选框值的正确位置。 –

0

或者你可以使用,,正常”的HTML标记来解决这个问题。这个标签也可以通过名称参数form bean的交互。 在form bean中,你可以使用一个布尔参数!

<input type="checkbox" name="multiRole" checked="checked" />