2013-05-17 49 views
1

我有Struts的1.2豆如下其中包含数组位置填充豆类选择选项支柱

Register.java

public class Register extends ActionForm 
{ 
    private String[] userLocation = {"Chennai", "Bangalore", "Delhi", "Singapore"}; 
    . 
    . 
    //Getters and Setters 
    . 
    . 
    . 

} 

我要填充这个在下拉列表中选择的选项。我尝试了下面的代码,但它不工作。任何想法如何做到这一点。是否有可能通过使用数组使用集合来做到这一点。

RegisterForm.jsp

<html:select property="userSelectedLocation"> 
    <html:options property="id" labelProperty="name" /> 
</html:select> 

回答

2

阅读select标签和options标签的文档。

select标签期望找到属性中选择框的选定值。你给它userSelectedLocation作为属性,但行动表似乎没有任何getUserSelectedLocation()方法。

选项标记从一组值中获取选项。它获取集合的地方取决于三个属性:集合,名称和属性。该文档说:

仅指定属性 - 此属性的值是与我们的表单关联的ActionForm bean的属性的名称,该属性将返回集合。

这意味着选项标记在返回值数组的操作表单中查找方法getId()。似乎你没有这样的方法。

该文档清楚地解释了标签的工作原理。如果您告诉我们您想要做什么(您希望选择选项具有哪些值和标签,那么包含选定值的属性是什么),我们可以告诉您要使用什么。

+0

非常感谢你回复我是Struts的新手我唯一的疑问是我是否可以从数组中填充值,因为我已经学会了如何从collection中填充。由于有一种方法可以从数组中填充值作为复选框,所以我想让自己弄清楚下拉是否可能出现同样的情况。非常感谢你 –

+0

试试吧,看看。 IIRC,STruts支持数组就好了。但是使用数组通常不是一个好主意。你为什么不用'List '代替? –