gpt4 book ai didi

java - 如何将多个复选框传递给 Action

转载 作者:行者123 更新时间:2023-11-30 07:19:47 25 4
gpt4 key购买 nike

我正在使用 Struts 2 和 Freemarker。这是我的 Action 类:

package test;

import java.util.ArrayList;
import java.util.List;

public class WelcomeAction {

private String userName;
private String gender;
private List<String> fruits;
private String fruit;


public String execute() {
// if(!userName.equals("a"))
// {
// return "fail";
// }
// else {
// return "SUCCESS";
// }
return "SUCCESS";
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}


public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public String getFruitsPicked() {
return fruit;
}

public void setFruitsPicked(String fruitsPicked) {
this.fruit = fruitsPicked;
}

public List<String> getFruits() {
return fruits;
}

public void setFruits(List<String> fruits) {
this.fruits = fruits;
}

public WelcomeAction(){
fruits = new ArrayList<String>();
fruits.add("apples");
fruits.add("oranges");
fruits.add("pears");
fruits.add("peaches");
}
}

这是我的 .ftl 中的内容:

<input type="checkbox" list="fruits" name="friut[]" value="apples" /> Apples<br /> 
<input type="checkbox" list="fruits" name="friut[]" value="oranges" /> Oranges<br />
<input type="checkbox" list="fruits" name="friut[]" value="pears" /> Pears<br />
<input type="checkbox" list="fruits" name="friut[]" value="peaches" /> Peaches<br />

这是我尝试打印的方式:

<#list fruits as item>${item}</#list>

但是上面的命令打印了我在构造函数中添加的列表中的所有项目。当然,我只想要提交表单时勾选的项目。

最佳答案

name="friut[]" 应该是 name="fruits"。 JavaBean 属性名称是fruits,而不是fruit(也不是friut...注意打字错误)。我不知道 [] 对 Struts 有意义,更好地说,对 ParametersIntercaptor 使用的 OGNL/ValueStack.setValue 有意义。 (不过它理解 fruits[0],这对于在现有列表中设置元素很有用。)所以最后 Struts 忽略了参数,所以你最终得到的是原始列表。 list="fruits" 来自哪里?

关于java - 如何将多个复选框传递给 Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com