从动态生成的HTML列表中设置bean的属性

时间:2013-06-16 12:02:31

标签: jquery html jsp jquery-mobile html-lists

我有一个<ul>元素,我动态填充<li>个元素。我希望控制这些<li>元素,我的意思是让他们能够在那里设置我的bean的属性。更明确一点:一旦我点击<li>,我希望其中的文本是属性的值。

以下是无序列表生成的代码:

<div data-role="content">   

<ul data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Région...">
  <%
     for (int i = 0; i < mdjsBean.getRegionList().size(); i++) {
        String region_ = (String) mdjsBean.getRegionList().get(i) ;
  %>
    <li><a><%= region_ %></a></li>
   <%}%>
</ul>

我希望它与JSF的selectOneMenu标签类似,它为您提供选择并选择一个(其值将存储在您的bean属性中)。

有关如何在JSP和<ul>以及<li>标记中执行此操作的任何想法?

我的要求

enter image description here

如图所示,它是jQuery(移动)的autocomplete widget,在我的情况下,我到目前为止成功检索了DB的“区域”值并将它们排列在列表视图中。在textarea中键入任意内容,列表视图开始过滤区域。 我希望现在点击该列表视图的一个元素并让它用选择的区域填充mdjsBean.region属性(btw regionList是所有区域的列表,这个列表是从DB填充的,借助于一个java函数)。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我在这里看不到任何不简单的JS和Ajax,但客户端没有“bean”。你可以用DWR伪造它,它是JS和Ajax。

如果没有DWR,则需要将所选值发送到服务器,返回JSON以构建新选项,或者将HTML直接注入DOM。 (它与DWR实际上是一样的,但它包含在看起来很像Java的JS中。)

根据您的需要,调查为您完成此过程的框架可能是一个好主意,尽管IMO对于了解底层正在发生的事情非常重要。

它没有扭曲,根本不可能:JS = client,bean = server。如果要在没有页面刷新的情况下使用服务器端数据更新客户端,则Ajax是 选项(忽略长连接等)。