怎么将select标签设置成和数据库中一样的/

Atest001 2011-03-05 11:59:34
我是利用struts和hibernate来做的项目,有这样一个功能要实现:要修改员工信息时候,先将员工所有信息查询出来,之后有部门选项()select,要求在select标签中先默认为从数据库中查询得到的部门名称。请问该怎么做?
附上可能需要的代码:

<select name="parentdeptId" >
<s:iterator value="listdeptid" var="list">
<option value="部门ID<s:property value="#list" />">
<s:property value="#list" />
</option>
</s:iterator>
</select>

我这是先将所有的部门编号放置到select选项中,可是我不知道怎么将员工之前所在的部门设置为默认的。在该页面中可以利用 <s:property value="#listempinfo.dept />来获取员工所在的部门。
请指教。
...全文
253 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
gouxiongyaya 2011-03-07
  • 打赏
  • 举报
回复
11楼的正确,用value这个属性value="%{parentdeptId}"
a_b_a_b_a_b_a_b 2011-03-07
  • 打赏
  • 举报
回复
修改我的回复、不是$ 是用%{parentdeptId}
redlotus_lyn 2011-03-06
  • 打赏
  • 举报
回复
<s:select name="parentdeptId" list="listdeptid" listKey="部门ID" listValue="部门名称" />
a_b_a_b_a_b_a_b 2011-03-06
  • 打赏
  • 举报
回复
6楼说的很详细了,<s:select name="parentdeptId"
headerKey=""
headerValue="-- 选择部门--"
list="listdeptid"
listKey="depId"
listValue="depName"
value="${parentdeptId}">
</s:select>
value属性就是你要选中的值,



重名率太高 2011-03-06
  • 打赏
  • 举报
回复
struts2的标签不太懂,用javascript也可以实现,页面被加载时执行
document.getElementById(select).value = ${depId}
这个应该也可以吧
gf1990 2011-03-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 magicluo 的回复:]
HTML code

<s:select name="parentdeptId"
headerKey=""
headerValue="-- 选择部门--"
list="listdeptid"
listKey="depId"
listValue="depName">
……
[/Quote]

+1
awusoft 2011-03-05
  • 打赏
  • 举报
回复
在输出的时候做一个判断,如果是相同的话就输出"selected"

<option value="部门ID<s:property value="#list" />" <s:if 在这里判断list的值与listempinfo.dept如果相同就输出一个>selected</s:if> >

不太熟悉s2的标签,你自己去查查这个标签的用法
Atest001 2011-03-05
  • 打赏
  • 举报
回复
UP 求助!
Atest001 2011-03-05
  • 打赏
  • 举报
回复

<select name="parentdeptId" id="parentdeptId" >
<s:iterator value="listdeptid" var="list">
<option value="<s:property value="#list" />">
上级部门ID<s:property value="#list" />
</option>
</s:iterator>
</select>

我在显示页面利用debug标签可以看到有一个property name :parentdeptId,value: 5;
同时我的select标签(就是修改信息时用来显示上级部门的下拉选项)name:parentdeptId id:parentdeptId,可是不能获取它的默认值啊。为何 ?哪里出了问题?
magicluo 2011-03-05
  • 打赏
  • 举报
回复

<s:select name="parentdeptId"
headerKey=""
headerValue="-- 选择部门--"
list="listdeptid"
listKey="depId"
listValue="depName">
</s:select>


说明一下,你写的加入 iterator标签加进去迭代完全你是画蛇添足,自带的select标签足矣

list就是你从actionContext中保存的部门所有列表的list,假定你的部门类中的Department实例中含有属性depId标识为部门编号,depName为部门名,则listKey和listValue就是分别从list中取得的部门对象的depId属性和depName属性.

显示成最后的html就是select中opiton的名字和值.

关于你说的默认被选中,很简单,在action中你将要修改的部门对象的depId属性赋值给一个有setter和getter访问方法的属性depId,也就是将你select标签的name属性和action中的depId这个属性一致。 标签会自动选中和你的depId相同值的项
Mark_MaoHUA 2011-03-05
  • 打赏
  • 举报
回复
这是struts2的标准写法
Mark_MaoHUA 2011-03-05
  • 打赏
  • 举报
回复
<s:select name="parentdeptId" headerKey=""
headerValue="-请选择-" list="list" listKey="value"
listValue="name">
</s:select>
prince_java 2011-03-05
  • 打赏
  • 举报
回复
你既然已经把所有的部门都放到下列列表中了,用户也从后台传过来了,对比一下用户的部门id,然后把那一个选项设为selected就行了

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧