struts2 ,下拉列表框初值的问题……[设置了value属性还是没出来,怎么回事?]

toss2000 2009-03-19 02:49:57
我在做一个修改功能,过程是首先查出相应记录,然后通过url传递值,将这些值显示到下一个页面中去,主要代码见下
<s:url id="modify" value="%{#request.contextPath}/budgetdetail/modify.jsp">
<s:param name="id" value="%{id}"></s:param>
<s:param name="budgetName" value="%{budgetName}"></s:param>
<s:param name="incomedate" value="%{formatDate}"></s:param>
<s:param name="budgetInfo" value="%{budgetId}"></s:param>
</s:url>
<s:a href="%{modify}">修改</s:a>

modify.jsp的接收代码为:
收入名称:<s:textfield name="budgetdetailname" required="true" value="%{#parameters.budgetName}" /> 
收入时间:<s:datetimepicker name="incomedate" toggleType="explode" displayFormat="yyyy-MM-dd" value="%{#parameters.incomedate}" /> 
<s:bean id="ds" name="commonUtil.tool.DwrCommon" />
收支类型:<s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo" value="%{#parameters.budgetInfo}"/>  
<s:hidden theme="simple" name="id" value="%{#parameters.id}"></s:hidden>

现在的问题是除了下拉框“收支类型”无法显示url传来的值,其他的都能获得,google上说指定value="%{#parameters.budgetInfo}"就可以了,但是,根本
不行啊,另注:budgetInfoIncome是map类型的,请大家帮帮忙,谢谢
...全文
1090 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjc198805 2010-07-22
  • 打赏
  • 举报
回复
汗。。。为什么我看不到答案
liuderunfa 2010-01-08
  • 打赏
  • 举报
回复
jnbj
zhouxingfa 2009-08-19
  • 打赏
  • 举报
回复
111111111111111111111111111111111111111111
ljah 2009-08-07
  • 打赏
  • 举报
回复
学习一下
Jacky_Zhu_1983 2009-03-20
  • 打赏
  • 举报
回复
给你个参考...
<s:select name="appTravelPR.branchCode" key="branchCode"
labelposition="left" list="#session.appBranchVOs"
listKey="branchCode" listValue="branchCode+ ' ' +branchDescription"
value="appTravelPR.branchCode"></s:select>
toss2000 2009-03-20
  • 打赏
  • 举报
回复
同志们帮帮忙啥
toss2000 2009-03-20
  • 打赏
  • 举报
回复
redlotus_lyn,我在结果页面加了下面的语句,结果能看到值是有的,唉,真不知道还应该改什么地方了……
<s:hidden theme="simple" name="ids" value="%{#parameters.budgetInfo}"> </s:hidden>
toss2000 2009-03-20
  • 打赏
  • 举报
回复
realcbb,唉,怪不得等级是富农啊!!!!太感谢你了,同志!接分!
realcbb 2009-03-20
  • 打赏
  • 举报
回复
我大概估计到你的情况了
budgetInfoIncome的key是不是Integer类型的?如果是的话这样可以解决你的问题:
value="@java.lang.Integer@parseInt(#parameters.budgetInfo)"

这就是使用tags的无奈
suncheng_hong 2009-03-20
  • 打赏
  • 举报
回复
这个只有查查struts2 文档了。一般有实例。
帮你找啦找文档
http://struts.apache.org/2.x/docs/tag-syntax.html



<s:select
label="FooBar" name="foo"
list="#{'username':'trillian',
'username':'zaphod'}" />


A static Map, as in put("username","trillian").
redlotus_lyn 2009-03-19
  • 打赏
  • 举报
回复
收支类型: 改成以下形式尝试一下:

<s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo" />


你可以在结果画面用javascript alert()一下budgetInfo的值:

1>.如果budgetInfo有值那就是<s:select />标签写法存在问题。

2>.如果budgetInfo没有值就是传递过程存在问题。比如:budgetInfo变量 get/set方法是否存在。
toss2000 2009-03-19
  • 打赏
  • 举报
回复
realcbb,你说的我也试了,也不行……
toss2000 2009-03-19
  • 打赏
  • 举报
回复
dada52020 试了不成,我在获得值得页面做了试验,<s:hidden theme="simple" name="ids" value="%{#parameters.budgetInfo}"> </s:hidden>
这个值通过查看页面源文件,这个值是存在的是56,然后直接这样写
<s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo" value="56"/>,确实可以进行默认选择了,但是怎么一结合起来
就不行了,一下午了,查了网上也没结果,郁闷ing……
哒哒 2009-03-19
  • 打赏
  • 举报
回复
<s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo" value="%{#parameters.budgetInfo}"/>

改为:

<s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo" value="%#parameters.budgetInfo"/>

value与map中的key对应,要形成键与值对应的关系..
realcbb 2009-03-19
  • 打赏
  • 举报
回复
value="#parameters.budgetInfo"就够了,不需要%{}
另外,此value与map中的key对应
dragon_fire 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hellwolf55 的回复:]
..........
[/Quote]
这样也不行 研究下
toss2000 2009-03-19
  • 打赏
  • 举报
回复
zl_bright ,试了,不成啊……
台城柳月 2009-03-19
  • 打赏
  • 举报
回复
收支类型: <s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo" value="%{#parameters.budgetInfo}"/>

改为
收支类型: <s:select list="#ds.budgetInfoIncome" required="true" name="budgetInfo"
listKey="key" listValue="value" />
试试
hellwolf55 2009-03-19
  • 打赏
  • 举报
回复
..........

81,111

社区成员

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

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