1

jsp ページに 2 つの struts2 選択ボックスがあります。最初の選択ボックスには、サーバー側で値が設定されたオブジェクトが入力されます。

このオブジェクトには次の 2 つの要素があります。

String softwareName;
Map<String,String> versionList;

最初の選択ボックスには、このオブジェクトが取り込まれます。このセレクト ボックスの Listkey プロパティは versionList を使用し、このセレクト ボックスの ListValue は softwareName を使用します。このような:

<s:select name="listSoftware" list="listSoftware" listkey="versionList" listvalue="softwareName">

したがって、html の選択ボックスは次のようになります。

<select name="listSoftware">
    <option value="DummySoftware-1.0.0=1.0.0,DummySoftware-2.0.0=2.0.0,DummySoftware-3.0.0=3.0.0">DummySoftware</option>
    <option value="TestSoftware-4.0.0=4.0.0,TestSoftware-5.0.0=5.0.0,TestSoftware-6.0.0=6.0.0">TestSoftware</option>
    <option value="CheckSoftware-7.0.0=7.0.0,CheckSoftware-8.0.0=8.0.0,CheckSoftware-9.0.0=9.0.0">CheckSoftware</option>
</select>

ここで、最初の選択ボックスから選択したソフトウェアに従って、2 番目の選択ボックスにデータを入力したいと考えています。たとえば、ユーザーが最初の選択ボックスから DummySoftware を選択すると、DummySoftware の対応するバージョン、つまり 1.0.0、2.0.0、および 3.0.0 が 2 番目の選択ボックスに入力されます。

誰でもこれを行う方法を助けることができますか?

4

2 に答える 2

1

このようなものが必要ですが、やりたいことは、検証を1つから取得して、現在事前に入力されたバージョンで両方の選択を含むresult.jspを生成することです。したがって、基本的にこれにjspを追加します。http://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/

于 2013-10-21T19:27:12.040 に答える
1

使用できますdoubleselect

参照

アクション

private List<BeanFirst> lstFirst = new ArrayList<BeanFirst>();

public String execute() {
    List<BeanSecond> lstSecond = new ArrayList<BeanSecond>();
    lstSecond.add(new BeanSecond(1, "sec1"));
    lstSecond.add(new BeanSecond(2, "sec2"));

    List<BeanSecond> lstSecond2 = new ArrayList<BeanSecond>();
    lstSecond2.add(new BeanSecond(3, "sec3"));
    lstSecond2.add(new BeanSecond(4, "sec4"));


    BeanFirst f1 = new BeanFirst(1, "name1", lstSecond);
    BeanFirst f2 = new BeanFirst(22, "name2", lstSecond2);
    lstFirst.add(f1);
    lstFirst.add(f2);

    return SUCCESS;
}

BeanFirst.java

public class BeanFirst
{
    private Integer id;
    private String name;
    private List<BeanSecond> lst;

//Getters & Setters
}

BeanSecond.java

public class BeanSecond
{
    private Integer id;
    private String name;

   //Getters & Setters
    }

JSP

<s:doubleselect list="lstFirst" listKey="id" listValue="name" name="idfirst" doubleList="lst" doubleName="idsecond" doubleListKey="id" doubleListValue="name" label="Double Select Here"/>
于 2013-10-21T22:35:59.920 に答える