当前位置: 首页 > 知识库问答 >
问题:

struts2选项TransferSelect从数据库检索和显示值

笪涛
2023-03-14

在jsp页面中,我有一个

<s:optiontransferselect 
    allowUpDownOnLeft="false"
    allowUpDownOnRight="false"
    allowSelectAll="false"
    allowAddAllToLeft="false"
    allowAddAllToRight="false"
    addToRightLabel="Go to right"
    addToLeftLabel="Go to left" 
    leftTitle="Left side values"
    headerKey="0"
    name="option"
    list= "optionList"
    rightTitle="Right side values"
    doubleHeaderKey="0"
    doubleList="selectedOptionList" 
    doubleName="selectOption"
    doubleId="selectedValues"
>
</s:optiontransferselect>

<s:submit />

我运行这个程序,它实际上可以从右边保存值。但是它不显示保存的值。

我正在考虑使用javascript并在

<script>
    function show(){
        const list = document.getElementById("selectedValues");
        for (var i = 0; i < list.options.length; i++) {
        //seems something not correct in this part but I am not sure how solve in this way 
            list.options[i].selected = true;
        }
        return true;
    }
</script>

<s:optiontransferselect 
    allowUpDownOnLeft="false"
    allowUpDownOnRight="false"
    allowSelectAll="false"
    allowAddAllToLeft="false"
    allowAddAllToRight="false"
    addToRightLabel="Go to right"
    addToLeftLabel="Go to left" 
    leftTitle="Left side values"
    headerKey="0"
    name="option"
    list= "optionList"
    rightTitle="Right side values"
    doubleHeaderKey="0"
    doubleList="selectedOptionList" 
    doubleName="selectOption"
    doubleId="selectedValues"
    onchange ="show()" <!-- onchange seems not work here -->
> 
</s:optiontransferselect>

运行程序时,右侧仍然无法显示保存的值。

有关optiontransferselect的更多信息,以备使用。

我有一个动作班。

public class OptionTransferSelectAction extends ActionSupport {
    private List<String> optionList;
    private List<String> selectedOptionList;
    //private String option;
    private  List<String> option;
    private List<String> selectOption;

    public OptionTransferSelectAction (){
        optionList=new ArrayList<String>();
        //display on the left side for selection
        optionList.add("Section A");
        optionList.add("Section B");
        optionList.add("Section C");
        optionList.add("Section D");
        optionList.add("Section E");
        optionList.add("Section F");
        optionList.add("Section G");
        optionList.add("Section H");

        selectedOptionList=new ArrayList<String>();
        //display on the right side
        //pretend it does not have any values in the first time (does not 
        //trigger the save yet)
        
    }   

    public List<String> getOptionList() {
        return optionList;
    }

    public void setOptionList(List<String> optionList) {
        this.optionList = optionList;
    }

    public List<String> getSelectedOptionList() {
        return selectedOptionList;
    }

    public void setSelectedOptionList(List<String> selectedOptionList) {
        this.selectedOptionList = selectedOptionList;
    }
    /*
    public String getOption() {
        return option;
    }

    public void setOption(String option) {
        this.option = option;
    }
    */
    public List<String> getOption() {
        return option;
    }

    public void setOption(List<String> option) {
        this.option = option;
    }


    public List<String> getSelectOption() {
        return selectOption;
    }

    public void setSelectOption(List<String> selectOption) {
        this.selectOption = selectOption;
    }
}

使现代化

我将选项从String更改为List

我哪部分做错了?有人能让我知道吗?谢谢你。

更新我创建了一个新的jsp,例如success。jsp。如果我选择了一些值,请选择Option并单击submit按钮。jsp文件可以显示我刚刚提交的值。我可以在数据库中看到保存的值。但是,optiontransferselect仍然无法显示保存的值。

success.jsp有一个代码,可以显示我刚刚提交的值。

Selected Value(s) : <s:property value="selectOption"/>

在数据库中,我可以看到保存的值,因此我想知道如何让选项TransferSelect显示保存的值?

另一个更新

我尝试使用一个按钮来调用javascript函数,在提交之前显示selectedValue

<script>
    function testshow() {
        var value = document.getElementById("selectedValues");
        for(var i=0;i<value.options.length; i++) {
            alert(value.options[i].innerHTML);
        }
        return true;
    }
</script>

//button to call the function
<s:submit onclick="return testshow()"/>

我运行这个程序,当我点击按钮时,它可以在提交之前显示选定的值,所以我仍然不明白为什么optiontransferSelect不能保存选定的值。


暂时还没有答案

 类似资料:
  • 我试图检索我的选择选项从3个数据库位于一个连接,这不是我的deaut连接。 但我得到了一个错误:未定义的变量:marqs(视图:C:\wamp64\www\project etSovac\资源\视图\home.blade.php) 这是我的控制器代码 还有我的home.blade.php密码 你能帮忙找出问题所在吗?谢啦

  • 问题内容: 如何在JSP页面中从数据库检索和显示图像? 问题答案: 让我们逐步查看会发生什么: JSP基本上是一种视图技术,应该可以生成HTML输出。 要以HTML显示图像,你需要HTML 元素。 要使其定位图像,你需要指定其属性。 该属性需要指向有效的URL,而不是本地磁盘文件系统路径,因为当服务器和客户端在物理上不同的计算机上运行时,该路径将永远无法工作。 图片网址需要在请求路径(例如)中或作

  • 问题内容: 大家好,我需要您的帮助。我在应用程序中创建SQLite数据库,然后将数据插入其中。现在我想从中检索数据,但我只想插入一个数据并检索它,然后将其显示在TextView中。 请帮助我,这是我第一次使用SQLite数据库。 问题答案: 这是我如何实现此目标的示例。 在这个例子中,我会,,和一个学生的名字和年龄。 首先创建一个类,我叫我的 DBManager.java 然后创建一个我叫我的 S

  • 被一个问题缠住了。我是android开发的新手。我的问题是我有一个SQLite数据库,我正在其中保存映像和一些数据,但当我检索这些数据时,映像没有显示在ListView中。其他数据正在被推翻。 这是我的自定义列表布局 null 这是我的自定义适配器 } 这是activity 这是数据列表

  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 我正在尝试实施一个工资系统,但我在更新员工方面遇到了一些问题。我已将员工的性别作为varchar存储在数据库中。当我输入员工id并单击搜索按钮时,我想从数据库中获取该信息,并根据数据以男性/女性单选按钮显示。代码中没有错误。但问题是,当我尝试这样做时,只有男性按钮显示为选中状态,这是默认设置。即使数据库上的数据显示为女性,女性单选按钮也不会被选中。有谁能帮我解决这个问题吗?下面是我的代码。