【发布时间】:2014-05-20 02:56:43
【问题描述】:
短篇小说:
我有一个字段如下 List engine = new ArrayList();当我在 jsp 中使用 ${engine} 时,它以 [x1,x2] 格式显示它的值,但我需要它是 engine=x1,engine=x2 来建立链接。怎么做?另一种选择是让后端接受 [x1,x2] 格式的值。
长篇大论:
我有一个包含两个复选框列表的表单,用户正在根据一些项目(例如车门数量和发动机功率)来寻找汽车。提交表格后,将显示任何数量的汽车与搜索条件匹配的所有汽车品牌。一旦用户点击任一品牌,所有匹配的汽车都会显示出来。
...
<s:checkboxlist name="engine" label="Engine" list="@com.car.interfaces.Lists@Engine"/>
<s:checkboxlist name="door" label="door" list="@com.car.interfaces.Lists@Door"/>
....
我使用以下两个代码来显示结果,但两者的输出都是这种格式 [1000,2000]
<s:property value="%{engine}"/>
${engine}
当显示结果时,链接将创建如下
<a href ="....?${engine}&${door}&....">View Cars</a>
which would change to following
<a href="....?engine=[1000,2000]
&door=[2,4,5]&.....">View Cars</a>
当我点击链接时无法找到项目;但是,如果我将值的格式更改为 1000,2000,它会起作用。
我知道,一种方法是使用 for 查找查看所有项目并以所需格式创建项目字符串,但还有其他方法吗?
public static final Map Engine = new TreeMap() {
{
put(1000, "Small");
put(2000, "Good");
put(3000, "Standard");
put(4000, "Powerful");
put(5000, "Excellent");
}
;
};
【问题讨论】:
-
你做错了什么。 url 中的参数应为
engine=1000&engine=2000格式。你是如何创建这个网址的? -
@AleksandrM 这也是我的问题,代码将地址创建为 engine=[1000,2000] 我希望它们像 engine=1000,2000 或者你解释的那样。请阅读我的问题的“短篇小说”部分,谢谢。
-
但是您还没有显示如何创建这样的 url。那么复选框如何适合您的问题呢?你有表格吗?为什么要自己创建url?
-
@AleksandrM 我包含了我的复选框列表代码,还显示并解释了我创建 URL 的原因和方式。你有表格吗? “我有一个有两个复选框列表的表单......”你为什么要自己创建 url? “一旦提交表格,将显示所有汽车品牌,只要他们的汽车数量与搜索条件相匹配。一旦用户点击任一品牌,所有匹配的汽车都将显示。”为了澄清,创建了一个表单,用户选择其复选框列表中的项目并提交表单,结果将显示,用户可以单击每个结果以查看更多详细信息。
标签: jsp struts2 jstl checkboxlist