在Struts 2中从JSP调用Java方法

时间:2014-08-07 09:38:57

标签: jsp struts2

我想调用Java方法,它返回数组列表,我想将该数组列表添加到JSP的下拉列表中。当用户从下拉列表中选择一个值时,该值存储在变量类型

<form action="Config.action" method="post">
<table width="600" height="34" align="center" border="1" bgcolor="#CCCCCC"><br>
<%     
    Config c = new Config();
    ArrayList<String> names = c.populate();
    out.print("<table>  <tr><select>");

    for (String s : names) 
    {
        out.print("<option value="+s+">"+s+"</option>");
    }    
%>    
</select></table>

3 个答案:

答案 0 :(得分:3)

使用操作属性来获取/设置名称

private String name;
//getter and setter

public ArrayList<String> getNames(){
  Config c = new Config();
  return c.populate();
}

JSP:

<form action="Config.action" method="post">
<table width="600" height="34" align="center" border="1" bgcolor="#CCCCCC"><br>
<s:select name="name" list="names"/>
</table>
</form>

答案 1 :(得分:1)

Index.jsp Page,After Body标签后添加此行,

<s:bean name="controller.FindList" var="my"> </s:bean>

  <s:select 
    list="name" 
    name="name_list" />

FindList.class

   private List<String> name=new ArrayList<String>();// Setter method

   public ArrayList<String> getNames(){
           Config c = new Config();
            name=c.populate();
           return name;
   } 

不需要struts.xml中的动作控制器代码

答案 2 :(得分:0)

在这种情况下,你必须调用ajax函数,你可以通过结合Jquery使用DWR来实现。 请参阅以下链接

DWR+STRUTS 2