【问题标题】:How to get value from DB in Struts 2 dropdown along with list如何在 Struts 2 下拉列表中从 DB 中获取价值
【发布时间】:2013-11-08 06:44:39
【问题描述】:

我正在为我的应用程序使用 Struts 2 框架,我的代码如下,

/*Setting dynamic dropdown of service Type*/
ShowSearch drop=new ShowSearch();
service=drop.serviceType();
setService(service);

我正在从 DB 获取值列表(假设值是“Apple”、“Cat”、“Jack”、“Zag”),它已显示在 JSP 中提到的 struts2 下拉列表中。

<s:select id="serviceType" name="serviceType"
     label="What is the service offering" required="true"
     value="%{serviceType}" list="service" />

         

当我尝试执行以下操作时,可以说localhost:8080/as/prd?id=first 'first' 的 "serviceType" 下拉列表的实际值为“Jack”。但现在,下拉菜单按从数据库中获取的顺序显示(即基于列表“服务”)。

我的要求是显示"Jack",然后显示"Apple","Cat","Zag",...。我该怎么做才能表现出这样的样子?

【问题讨论】:

    标签: java sorting jsp struts2 struts2-jquery


    【解决方案1】:

    在您的操作类中设置该字符串变量。然后该字符串变量将首先显示在下拉列表中。

    【讨论】:

      【解决方案2】:

      这样的显示称为按字母顺序排序。为此,您可以在渲染阶段之前修改列表。假设你的列表集合元素是一个简单的字符串,那么

      Collections.sort(myList);
      

      会做你想做的事。

      另一种方法是使用s:sort 标签并编写一个比较器对列表进行排序,然后将其包裹在s:select 标签周围

      <s:sort comparator="myComparator" source="myList">
      <s:select id="serviceType" name="serviceType"
                   label="What is the service offering" required="true"
                   value="%{serviceType}" list="myList" />
      </s:sort>
      

      写一个简单的比较器

      public Comparator getMyComparator() {
        return new Comparator() {
          public int compare(Object o1, Object o2) {
            String s1 = (String) o1;
            String s2 = (String) o2;
      
            return s1.compareTo(s2);
          }
        };
      }
      

      更详细的解释如何排序集合以及如何使用ComparableComparator你可以找到here

      【讨论】:

      • 我不需要在这里排序。从 Action 类,我得到一个列表和一个字符串变量。我想在 jsp 的下拉列表中以这样的方式显示,字符串首先出现,然后列出..
      • 它只能显示列表中的值,我想你要设置一个headerValue属性。
      • 我尝试设置标题值。但无法得到想要的输出。
      • 想要的输出是什么,您想将“Jack”的值预设到列表中吗?那么你应该从getServiceType()返回它。
      猜你喜欢
      • 2020-08-11
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      相关资源
      最近更新 更多