1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.components;
19
20 import javax.servlet.http.HttpServletRequest;
21 import javax.servlet.http.HttpServletResponse;
22
23 import com.opensymphony.xwork2.util.ValueStack;
24
25 /***
26 * <!-- START SNIPPET: javadoc -->
27 * Renders two HTML select elements with second one changing displayed values depending on selected entry of first one.
28 * <!-- END SNIPPET: javadoc -->
29 *
30 * <p/> <b>Examples</b>
31 *
32 * <pre>
33 * <!-- START SNIPPET: example -->
34 * <s:doubleselect label="doubleselect test1" name="menu" list="{'fruit','other'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
35 * <s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
36 * <!-- END SNIPPET: example -->
37 * </pre>
38 *
39 * @s.tag name="doubleselect" tld-body-content="JSP" tld-tag-class="org.apache.struts2.views.jsp.ui.DoubleSelectTag"
40 * description="Renders two HTML select elements with second one changing displayed values depending on selected entry of first one."
41 */
42 public class DoubleSelect extends DoubleListUIBean {
43 final public static String TEMPLATE = "doubleselect";
44
45
46 public DoubleSelect(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
47 super(stack, request, response);
48 }
49
50 protected String getDefaultTemplate() {
51 return TEMPLATE;
52 }
53
54 public void evaluateExtraParams() {
55 super.evaluateExtraParams();
56
57
58 addParameter("onchange", getParameters().get("name") + "Redirect(this.options.selectedIndex)");
59 }
60 }