关于Structs的新手提问(在线等)

mxlmwl 2004-12-08 04:35:15
Structs怎样处理checkbox的值选中啊,比如:
我有一组名为enjoy的复选框,有一个字符串,如“电影,电视,新闻”,

我将这个字符串按","分割成一个数组,但是传到jsp页面的时候,怎样将“电影”,“电视”,“新闻”这三个checkbox选中,而其他的checkbox不选???
...全文
217 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhzsir 2004-12-12
  • 打赏
  • 举报
回复
再actionform类中设为 String[] checkboxname 应是可以的.
sy_programmer 2004-12-10
  • 打赏
  • 举报
回复
服了!和structs-config.xml有啥关系阿,晕
pdw2009 2004-12-10
  • 打赏
  • 举报
回复
呵呵..........
ltq2001932 2004-12-09
  • 打赏
  • 举报
回复
学习
chubbchubb 2004-12-09
  • 打赏
  • 举报
回复
如果用<html:checkbox property="temp">,他是会默认的给你加个value="on"。
但是这个checkbox被选中的条件比较宽松,就是temp的值是“true”,“yes”,“on”中的任意一个,通过这个tag显示出来的时候,你就会发现,他会给你加上一个checked=checked

这个看看jakarta-struts/src/share/org/apache/struts/taglib/html/CheckboxTag.java就知道了
mxlmwl 2004-12-09
  • 打赏
  • 举报
回复
好象不是value="true"啊,我看structs的文档,好象说是,如果<html:checkbox>中没有value的值的时候,会默认这个value为on。
比如<html:checkbox property="temp">
输出结果为<input type="checkbox" value="on">
chubbchubb 2004-12-08
  • 打赏
  • 举报
回复
<logic:iterate id="element" name="testForm" property="enjoy">
<bean:define id="chkvalue" name="element">
<html:checkbox property='<%= chkvalue%>' value="true"/>//checkbox标签里面好像不能直接用这个element
</logic:iterate>

有些地方可能写的不对,大概是这个意思。
zhang_jh 2004-12-08
  • 打赏
  • 举报
回复
看看Structs官方的例子吧, 里面就有.
chubbchubb 2004-12-08
  • 打赏
  • 举报
回复
只要你的enjoy[]里面放的是{"on","on","off"},用<html:checkbox>显示的结果就是,头两个选中,后一个没有选中。
至于“电影","电视","新闻”,如果想能方便的修改,那就添加一个存放name的属性,enjoy里面放value,对应关系用index就行了。

原来连续回帖不能超过3个
mxlmwl 2004-12-08
  • 打赏
  • 举报
回复
to chubbchubb(长街) ( )
那你说的是什么意思啊,我还是不太明白?有具体的代码可以示范一下吗?我比较笨:)
刚接触structs的tags,感觉一团糟,唉
linuxbing 2004-12-08
  • 打赏
  • 举报
回复
我也有这个疑问
chubbchubb 2004-12-08
  • 打赏
  • 举报
回复
我说话不严谨,+_-
checkbox被选中的条件是:他的value是“true”,“yes”,“on”中的任意一个,不区分大小写。
chubbchubb 2004-12-08
  • 打赏
  • 举报
回复
先为第一次的回答道歉,咳

至于你的checkbox是否选中,是由checkbox的value决定的
只有value是“true”,“yes”,“on”中的某一个的时候,这个checkbox才会是选中的。

所以呢,这个value不能等于="电影","电视","新闻",你需要用个别的属性来保存。
chubbchubb 2004-12-08
  • 打赏
  • 举报
回复
我又仔细想了想。好像我说的不对,:P

structs-config.xml中不需要特别的设置。
“电影,电视,新闻”,要在action里面拆分,放到enjoy[i]里面,
JSP页面利用<logic:iterate>循环的取出enjoy[i],赋给<html:checkbox>
这样大概就行了

mxlmwl 2004-12-08
  • 打赏
  • 举报
回复
to myth822(枫红一刀)

怎么取出来啊??
我用
<logic:iterate id="element" name="testForm" property="enjoy">
<bean:write name="element"/>
</logic:iterate>
可以取出值来,但是能不能用<html:checkbox>啊??我想让value="电影","电视","新闻"的checkbox是选中状态。
mxlmwl 2004-12-08
  • 打赏
  • 举报
回复
可是用<logic:iterate>是可以取出的,然后在其中用<bean:write>读出。可是我需要的不仅仅是把他们在页面中显示出来,而是想让一部分选中一部分不选中。 还有什么好的方法吗?

楼上说的这个似乎太绝对了点吧?如果我的爱好要增加,难道还要在bean中在增加相应的方法么?
myth822 2004-12-08
  • 打赏
  • 举报
回复
将属性放在beanList中,再将beanList放到session中,在jsp中使用logic循环输出
chubbchubb 2004-12-08
  • 打赏
  • 举报
回复
好像只能一个checkbox对应一个String型的字段,没有对应数组的tag
对于你的问题,需要三个属性对应三个CheckBox,然后三个分别去设置。
mxlmwl 2004-12-08
  • 打赏
  • 举报
回复
structs-config.xml中怎样配置??
假设我的actionform的名字为tempForm,enjoy的getter()和setter()为
String[] enjoy;
public void setEnjoy(String[] strings)
{
enjoy=strings;
}
public void getEnjoy()
{
return enjoy;
}

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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