大家好!!
刚刚申请了博客!我学java快一年了!这个过程中遇到了很多的问题!因为我还是学生,而且是自学!学校里根本没有javaee,顶多只是开门java基础课!!只能上网查资料!!!就这样我结识了javaeye!一个非常不错的网站!我也非常喜欢,,里面有非常全面的内容!还有非常热心的朋友! 我非常感谢javaeye和里面所有的朋友!在里面让我解决了很多的难题! 我也要把握犯过的错误!走过的弯路记录下来!给大家分享!!
今后还请大家多多指教!!!
好了!!第一次关于struts2 的doubleselect标签的问题!!
我这里doubleselect的值是从数据中直接取出来的!!
1,数据库中有两张表,item和subitem!两者是一对多的关系!!item 1:n subitem
|——itemid |--subid
item--| subitem---|--subname
|——itemname |--itemid
item对应的是第一级菜单! subitem对应的是第二级菜单!
2, 因为这两张表在hibernate中的item.hbm.xml中加入了cascace=“all” ,就是说当我们操作item的时候同时也操作subitem!查询的语句是 List all =session.createQuery(sql).list(“FROM item i”); 即查询item中的所有值。
Map request = ActionContext.getContext().get("request");
request.put("all",all); // 把all放入request中,为了是在页面中取得里面的值,
在item类中。subitems是item类的一个属性,关键是迭代的时候。怎么输出;在request中的关系是。request={
item={
itemid,
itemname,
subitems={ //这个subitems是item里面的一个属性值,subitems是一个
subid,//个subitem的对象的结合!我是用hibernate自动生成的!
subname,....//熟悉hibernate的朋友都清楚!
}
}
}
。
3,我们把数据库中表item中的值在页面中第一级菜单显示!subitem中的值在第二级菜单中显示!!
在jsp中的doubleselect配置是!
<s:form action="doubleselect" name="item" id="subitems">//doubleselect一定放在
<s:doubleselect //form中。 name必须有值,是任意的,,
label="zhong"
size="3"
list="#request.all"
listKey="itemid" //这个itemid和下面的top.itemid是对应的!
listValue="itemname"
doubleList="#request.all.get(
top.itemid).subitems"
doubleListKey="subid"
doubleListValue="subname"
size="3"
doubleName="item"
>
</s:doubleselect>
</s:form>
listValue="itemname" 是要在第一级菜单中显示的内容!itemname是item的一个属性!
listKey="itemid" 根据itemid得到第二级菜单的内容!
doubleList="#request.all.get([color=red]top.itemid).subitems"[/color]
最关键的还是这一句话,让我搞了一天!网上也没有找到。。我只是一点一点试的!
从request中得到all,再根据all中的item的itemid得到其所对应的subitems,subitems是一个集合,里面有多个subitem,
doubleListValue="subname" 是的得到subitem中的二级菜单的名子!
哈哈!!大家如果有不明白的话可以留言!!
分享到:
相关推荐
综上所述,通过整合Hibernate、Struts2和Spring三个框架,我们可以实现从数据库中读取数据,并利用Struts2中的`doubleSelect`标签来展示数据的功能。这种技术不仅提高了开发效率,而且增强了用户体验。开发者可以...
在本篇文章中,我们将深入探讨Struts2框架中的`doubleselect`标签的使用方法,并结合一个具体的示例来展示如何将此标签与Hibernate和Spring框架整合在一起,以便于更好地理解和运用这一技术。 ### Struts2框架简介 ...
在Struts2中,`doubleselect`标签是一个非常实用的组件,用于创建级联选择列表,即两个下拉列表之间存在关联,当用户在一个下拉列表中选择一个选项时,另一个下拉列表会根据所选值动态更新其选项。这种功能在处理如...
在Struts2中,`doubleselect`标签就是为了解决这类问题而设计的。 `doubleselect`标签是Struts2自定义标签库的一部分,它允许开发者创建两个相关的下拉列表,当用户在第一个下拉框选择一个选项时,第二个下拉框的...
8. **数据交互**:在Action中,我们可能需要通过DAO层从数据库获取`firstList`和`secondList`的数据,并在Action的结果处理中,根据用户选择的`selected`值动态生成`secondList`,以便展示相关的关联数据。...
总之,`struts2 doubleselect`标签是构建动态级联下拉菜单的有效工具,它允许开发者通过`Action`将数据库中的层级关系展示给用户,提高用户界面的交互性。理解`list`、`listKey`、`listValue`、`doubleList`、`...
"Doubleselect"是一种在数据库查询优化中常见的技术,特别是在复杂的SQL查询中,它涉及到如何处理两个或更多选择(即子查询)以提高性能和效率。在这个主题中,我们将深入探讨doubleselect的概念、应用场景以及如何...
doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现...
Struts2 Doubleselect标签是用于创建二级联动下拉列表的,这种控件在网页表单中常见于需要显示层次关系数据的场景,例如省份-城市的选择。Doubleselect标签结合了两个下拉列表,其中一个的选择会影响到另一个下拉...
通过上述步骤,我们可以清晰地看到如何利用Struts2框架中的`<s:doubleselect>`标签实现动态的缺省值设置功能。这种方法不仅能够提高用户体验,还大大简化了开发工作量。在实际项目中,可以根据具体需求灵活调整数据...
在Struts2中,我们有许多内置的标签来帮助开发者更方便地处理表单元素,例如`<s:select>`和`<s:doubleselect>`就是其中两个用于创建下拉列表的标签。下面我们将详细探讨这两个标签以及如何在J2EE项目中使用它们。 1...
在级联doubleselect中,Action类会处理两个下拉框的联动逻辑,例如根据父级选择更新子级的选项。 2. **ModelDriven接口**:Struts2提供了ModelDriven接口,用于将模型对象与Action类关联,简化了数据绑定。在级联...
DoubleSelect11.vue
doubleselect标签:生成一个相互关联的列表框,该标签由两个下拉选择框组成。 datetimepicker标签:生成一个日期、时间下拉列表框。 head标签:生成HTML页面的HEAD部分。 file标签:在页面上生成一个上传文件元素...
本文将深入解析WebWork标签库中的各类标签,帮助开发者更好地理解和应用这些标签,提高开发效率。 #### 常用标签 - **`<ww:property/>`**:用于获取值。当值不存在时,返回空字符串。此标签常用于在JSP页面中显示...
这个doubleSelect插件是基于jQuery构建的,意味着你需要在项目中引入jQuery库才能使用它。在实际应用中,首先需要确保你的HTML页面已经正确地引入了jQuery库,通常通过`<script>`标签来完成。 这个插件的核心功能是...
* <s:push>:value 的值 push 到栈中,从而使 property 标签的能够获取 value 的属性 Q: 无标签 R: * <s:radio>:单选按钮 * <s:reset>:重置按钮 S: * <s:select>:下拉框 T: 无标签 U: 无标签 V:...
在这个方法中,你可以根据`parentId`的值从数据库或其他数据源获取子级选项,并设置到Action的属性`childOptions`上。 5. **处理结果**:在Action的`execute`方法中,你可以检查`parentId`的值是否改变,如果改变,...
在JSP中,`<s:doubleselect>`标签的`doubleList`属性需要根据第一级下拉框(`top.id`)的选中值动态获取,这就是`top`关键字的作用。`top`在这里实际上代表的是第一级下拉框的当前选中项,因此正确的用法是`bookMap....