Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将[Wicket]列表视图与表单一起使用?_Wicket - Fatal编程技术网

如何将[Wicket]列表视图与表单一起使用?

如何将[Wicket]列表视图与表单一起使用?,wicket,Wicket,我在提交时添加了一个表单,其中我必须添加更多wicket控件,如标签、文本字段和带有Ajex链接的按钮。但无法获得正确的HTML。谁能帮我把它处理掉吗 voucherPanel.html <html xmlns:wicket> <head> </head> <body> <wicket:panel> <div class="form-block"> <div wicket:id="form"&g

我在提交时添加了一个
表单
,其中我必须添加更多wicket控件,如标签、文本字段和带有Ajex链接的按钮。但无法获得正确的HTML。谁能帮我把它处理掉吗

voucherPanel.html

<html xmlns:wicket>
<head>
</head>
<body>
  <wicket:panel>
    <div class="form-block">
      <div wicket:id="form">
        <wicket:message key="lbl.vouchercode" />
        <div wicket:id="list">
          <input wicket:id="word" type="text" />
        </div>
        <div wicket:id="vouchercode"></div>
      <button wicket:id="submit"><wicket:message key="submitText"/></button>   
      </div>
    </div>
  </wicket:panel>
</body>
</html>

voucherPanel.java

public class VoucherPanel extends Panel
{
  private static final long serialVersionUID = 1L;

  public VoucherPanel(final String id)
  {
    super(id);

    final TextField<String> voucherCodeField = new TextField<String>("vouchercode", Model.of(""));
    voucherCodeField.setRequired(true);

    final Button button = new Button("submit");

    Form<?> form = new Form<Void>("form")
    {

      @Override
      protected void onSubmit()
      {

              numberOfFields = new ArrayList<String>();

              int noOfVocuhers = getNoOfAllowedVoucher();// just returing the number
              for (int i = 0; i < noOfVocuhers; i++) {
                numberOfFields.add(new String(""));
            }

            add(new ListView<Object>("list", numberOfFields) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void populateItem(ListItem<Object> item) {
                    final String word = (String) item.getModelObject();
                    System.out.println( "word   =" +word );
                    TextField<String> textField = new TextField<String>("word",  Model.of(""));
                    textField.setOutputMarkupId(true);
                    item.add(textField);
                }
            });

        }
      }
    };

    add(form);

    form.add(voucherCodeField);
    form.add(button);
  }
}
公共类VoucherPanel扩展面板
{
私有静态最终长serialVersionUID=1L;
公共凭证面板(最终字符串id)
{
超级(id);
最终文本字段voucherCodeField=新文本字段(“vouchercode”,型号:“”);
voucherCodeField.setRequired(true);
最终按钮=新按钮(“提交”);
表格=新表格(“表格”)
{
@凌驾
受保护的void onSubmit()
{
numberOfFields=新的ArrayList();
int noOfVocuhers=getnoofolowedconceducer();//只需返回数字
for(int i=0;i
  • 您正试图将
    文本字段
    分配给
    元素(
    voucherCode
    ),您需要使用
  • 您需要立即将
    列表
    添加到表单中,
    提交
    为时已晚。只需在外部设置它,类似于
    按钮
    ,并在提交表单时调用
    myListView.setList

  • 这是我发现的两件事。。。如果您仍然有问题,请告诉我们您收到的错误消息。

    您迄今为止所做的努力中的任何代码片段,并告诉我们您被困在哪里也会很有用。而且,你想要实现什么也不清楚。是否要在提交表单时向
    列表视图
    动态添加元素?顺便问一下,看看。有人能帮我解决这个问题吗?