`
xiaomogui
  • 浏览: 242730 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

doubleselect标签的值从数据库中读取

阅读更多
大家好!!

        刚刚申请了博客!我学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中的二级菜单的名子!


哈哈!!大家如果有不明白的话可以留言!!
3
1
分享到:
评论
8 楼 kabunuo 2009-02-06  
我按照你这个做的,第二级菜单的内容还是空的哦
7 楼 zangyk 2008-10-30  
#request.all得到的是List ,而top.itemid是指的item的id 并不是 item 在List中的位置。不知道我回答的对不对。还望指教
6 楼 xiaomogui 2008-09-27  
原文件,很感
zzjzzjzzj 写道

你好,可否提供上述 原文件,很感激.vc_zzj@163.com

<s:doubleselect label="栏目:" name="itemid" size="3"
list="#request.all" listKey="itemid" listValue="itemname"
doubleList="#request.all.get((top.itemid)-1).subitems"
doubleListKey="subid" doubleListValue="subname" size="3"
doubleName="subid">
</s:doubleselect>
5 楼 zzjzzjzzj 2008-09-22  
你好,可否提供上述 原文件,很感激.vc_zzj@163.com
4 楼 xiaoguan666 2008-08-13  
request={
item={
itemid,
itemname,
subitems={ //这个subitems是item里面的一个属性值,subitems是一个
subid,//个subitem的对象的结合!我是用hibernate自动生成的!
subname,....//熟悉hibernate的朋友都清楚!
}
}
}
这个是怎么写的,写在什么地方呀,我写在Action中的列表里,但是有错啊,请您指教,我刚学习这个,谢谢了,顺便问一下,用struts2.0能不能做多级联列表啊?
3 楼 xingdian119 2008-08-01  
			<table border="1">
				<tr>
				<tr>
					<td>
						分类名
					</td>
					<td>
						子类名
					</td>
				</tr>
				<s:iterator value="#session.itemall">
					<tr>
						<td>
							${itemname}
						</td>
						<td>
						<s:iterator value="subitems">
							${subname}
						</s:iterator>
						</td>
					</tr>
				</s:iterator>
			</table>
		</center>
		<hr><%--
		//doubleselect一定放在form中。 name必须有值,是任意的//这个itemid和下面的topitemid是对应的
		--%><s:form action="doubleselect" name="item" id="subitems">
			<s:doubleselect label="问题分类" list="#session.itemall" listKey="itemid"
				listValue="itemname"
				doubleList="#session.itemall.get(itemid-1).subitems"
				doubleListKey="subid" doubleListValue="subname" doubleName="item">
			</s:doubleselect>
		</s:form>
		<hr>


测试结果非常不理解,第一doubleList="#session.itemall.get(top.itemid).subitems和doubleList="#session.itemall.get(itemid).subitems"结果是一样的,另外,我的结果在上面的循环结果是正确的,可是到了下面,分类和子分类不对应,第一个大类的分类值成了第二个大类的分类值,逼着我用doubleList="#session.itemall.get(itemid-1).subitems"才正确,为什么??
2 楼 xingdian119 2008-08-01  
[color=red][/color]
			<table border="1">
				<tr>
				<tr>
					<td>
						分类名
					</td>
					<td>
						子类名
					</td>
				</tr>
				<s:iterator value="#session.itemall">
					<tr>
						<td>
							${itemname}
						</td>
						<td>
						<s:iterator value="subitems">
							${subname}
						</s:iterator>
						</td>
					</tr>
				</s:iterator>
			</table>
		</center>
		<hr><%--
		//doubleselect一定放在form中。 name必须有值,是任意的//这个itemid和下面的topitemid是对应的
		--%><s:form action="doubleselect" name="item" id="subitems">
			<s:doubleselect label="问题分类" list="#session.itemall" listKey="itemid"
				listValue="itemname"
				doubleList="#session.itemall.get(itemid-1).subitems"
				doubleListKey="subid" doubleListValue="subname" doubleName="item">
			</s:doubleselect>
		</s:form>
		<hr>


测试结果非常不理解,第一doubleList="#session.itemall.get(top.itemid).subitems和doubleList="#session.itemall.get(itemid).subitems"结果是一样的,另外,我的结果在上面的循环结果是正确的,可是到了下面,分类和子分类不对应,第一个大类的分类值成了第二个大类的分类值,逼着我用doubleList="#session.itemall.get(itemid-1).subitems"才正确,为什么??
1 楼 xingdian119 2008-08-01  
太好了,我找了很久的问题,没有正确的回答,我要赶紧试试,谢谢谢谢谢谢谢谢谢谢谢!

相关推荐

    struts2中的doubleSelect标签的用法(从数据库中读取数据,HSS)

    综上所述,通过整合Hibernate、Struts2和Spring三个框架,我们可以实现从数据库中读取数据,并利用Struts2中的`doubleSelect`标签来展示数据的功能。这种技术不仅提高了开发效率,而且增强了用户体验。开发者可以...

    struts2中doubleselect标签的应用

    在本篇文章中,我们将深入探讨Struts2框架中的`doubleselect`标签的使用方法,并结合一个具体的示例来展示如何将此标签与Hibernate和Spring框架整合在一起,以便于更好地理解和运用这一技术。 ### Struts2框架简介 ...

    struts2 doubleselect标签的用法例子

    在Struts2中,`doubleselect`标签是一个非常实用的组件,用于创建级联选择列表,即两个下拉列表之间存在关联,当用户在一个下拉列表中选择一个选项时,另一个下拉列表会根据所选值动态更新其选项。这种功能在处理如...

    struts2地市、县区二级联动下拉菜单 doubleselect标签

    在Struts2中,`doubleselect`标签就是为了解决这类问题而设计的。 `doubleselect`标签是Struts2自定义标签库的一部分,它允许开发者创建两个相关的下拉列表,当用户在第一个下拉框选择一个选项时,第二个下拉框的...

    Struts2的doubleselect标签演示

    8. **数据交互**:在Action中,我们可能需要通过DAO层从数据库获取`firstList`和`secondList`的数据,并在Action的结果处理中,根据用户选择的`selected`值动态生成`secondList`,以便展示相关的关联数据。...

    struts2 标签 doubleselect动态 用法

    总之,`struts2 doubleselect`标签是构建动态级联下拉菜单的有效工具,它允许开发者通过`Action`将数据库中的层级关系展示给用户,提高用户界面的交互性。理解`list`、`listKey`、`listValue`、`doubleList`、`...

    doubleselect.

    "Doubleselect"是一种在数据库查询优化中常见的技术,特别是在复杂的SQL查询中,它涉及到如何处理两个或更多选择(即子查询)以提高性能和效率。在这个主题中,我们将深入探讨doubleselect的概念、应用场景以及如何...

    doubleselect实现

    doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现...

    struts2 doubleselect 实例

    Struts2 Doubleselect标签是用于创建二级联动下拉列表的,这种控件在网页表单中常见于需要显示层次关系数据的场景,例如省份-城市的选择。Doubleselect标签结合了两个下拉列表,其中一个的选择会影响到另一个下拉...

    doubleselect.doc

    通过上述步骤,我们可以清晰地看到如何利用Struts2框架中的`&lt;s:doubleselect&gt;`标签实现动态的缺省值设置功能。这种方法不仅能够提高用户体验,还大大简化了开发工作量。在实际项目中,可以根据具体需求灵活调整数据...

    j2ee-struts2-Select_DoubleSelect.rar_struts2 doubleselect

    在Struts2中,我们有许多内置的标签来帮助开发者更方便地处理表单元素,例如`&lt;s:select&gt;`和`&lt;s:doubleselect&gt;`就是其中两个用于创建下拉列表的标签。下面我们将详细探讨这两个标签以及如何在J2EE项目中使用它们。 1...

    Struts2级联doubleselect

    在级联doubleselect中,Action类会处理两个下拉框的联动逻辑,例如根据父级选择更新子级的选项。 2. **ModelDriven接口**:Struts2提供了ModelDriven接口,用于将模型对象与Action类关联,简化了数据绑定。在级联...

    DoubleSelect11.vue

    DoubleSelect11.vue

    Struts2+API+标签全解+网页说明

    doubleselect标签:生成一个相互关联的列表框,该标签由两个下拉选择框组成。 datetimepicker标签:生成一个日期、时间下拉列表框。 head标签:生成HTML页面的HEAD部分。 file标签:在页面上生成一个上传文件元素...

    WebWork标签库

    本文将深入解析WebWork标签库中的各类标签,帮助开发者更好地理解和应用这些标签,提高开发效率。 #### 常用标签 - **`&lt;ww:property/&gt;`**:用于获取值。当值不存在时,返回空字符串。此标签常用于在JSP页面中显示...

    两级级联下拉列表jquery插件doubleSelect.zip

    这个doubleSelect插件是基于jQuery构建的,意味着你需要在项目中引入jQuery库才能使用它。在实际应用中,首先需要确保你的HTML页面已经正确地引入了jQuery库,通常通过`&lt;script&gt;`标签来完成。 这个插件的核心功能是...

    Struts2标签列表及说明

    * &lt;s:push&gt;:value 的值 push 到栈中,从而使 property 标签的能够获取 value 的属性 Q: 无标签 R: * &lt;s:radio&gt;:单选按钮 * &lt;s:reset&gt;:重置按钮 S: * &lt;s:select&gt;:下拉框 T: 无标签 U: 无标签 V:...

    Struts2-Double-Select-Example

    在这个方法中,你可以根据`parentId`的值从数据库或其他数据源获取子级选项,并设置到Action的属性`childOptions`上。 5. **处理结果**:在Action的`execute`方法中,你可以检查`parentId`的值是否改变,如果改变,...

    struts的三级级联

    在JSP中,`&lt;s:doubleselect&gt;`标签的`doubleList`属性需要根据第一级下拉框(`top.id`)的选中值动态获取,这就是`top`关键字的作用。`top`在这里实际上代表的是第一级下拉框的当前选中项,因此正确的用法是`bookMap....

Global site tag (gtag.js) - Google Analytics