在数组 bean 的第一个位置设置参数值

Set param value in first position of array bean

我想知道是否可以在 bean 字符串数组中设置由 url 参数接收的 属性。

我有这个:

你的 FormHandler 中的 bean class:

private String[] clientName;

JSP 文件:

<dsp:setvalue bean="ClientFormHandler.clientName" paramvalue="clientName" />

这样,我的屏幕出现了这个错误:

**** Error Wed Jul 06 13:53:06 BRT 2016 Trying to set value of /clientCom/app/formHandlers/ClientFormHandler.clientName, this IllegalArgumentException occurred: java.lang.IllegalArgumentException: argument type mismatch

这不起作用,所以我尝试了这个,但也没有成功...

<dsp:setvalue bean="ClientFormHandler.clientName[0]" paramvalue="clientName" />

我遇到了这个错误

**** Error Wed Jul 06 13:55:34 BRT 2016 1467824134007 /atg/dynamo/servlet/dafpipeline/ProtocolSwitchServlet
atg.droplet.DropletException: Cannot set elements of a multi-valued prop erty if property is not a List and if it is missing an indexed property method

我可以在 JSP 文件中执行类似的操作,而不更改 java class 吗?

感谢。

我还没有找到数组的示例,但我建议您使用 MVC 架构

您可以通过以下方式设置 bean 参数:

1/ 在您的 JSP 中添加一个表单,将您想要的值放入隐藏的输入中

<form method="post" action="MYSERVLET">
    <input type="hidden" name="VAL" value="NEW_NAME"/>

    <input type="submit" value="click"/>
        </form>

2/ 在放置这些方法的地方创建一个 bean

public class bean {
 private String[] clientName ={"tt","bb","gg","ff","tt","gg"};//just for verification

    public String[] getClientName() {
        return clientName;
    }

    public void setClientName(String[] clientName) {
        this.clientName = clientName;
    }

    public void NewVal(String newVal, int index){
    this.clientName[index] = newVal; 
     }

     public String getVal( int index){
    return this.clientName[index] ; 
     }
}

3/创建一个 servlet(MYSERVLET)

将 doPost 更改为

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

 String val  =  request.getParameter("VAL");
 bean Mybean= new bean();
 Mybean.NewVal(val, 0);
 System.out.println("--------------------"+Mybean.getVal(0));
}

结果:

 --------------------NEW_NAME (in server logs) 

array bean首位改为"NEW_NAME"