做b/s程序不可避免的一个问题,你们都是怎么解决的呢?

peihexian 2004-12-06 01:54:37
就是数据从db(数据库)层取出来以后在界面显示时的赋值过程,举例来说:

我要把'张三'这个值显示在一个text输入框中,目前我是这样写的

out.println("document.form1.name.value='"+pojo.getName()+"';"); //pojo.getName会取出'张三'这个值

如果界面当中的内容少还好说,如果一个界面中有几十个字段,这个一个字段一个字段的赋值太繁琐了,有什么办法可以不写这些给view层赋值的语句啊???

是不是用struts的话就不用再一个个的赋值了?

...全文
404 18 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jokerjava 2004-12-06
struts 的标签能简化一点
两行能变一行
不过在别处你还要增加行数


关键还是在于
view层不可能知道自己要显示什么 你想怎么自动都是不可能的
只能你去数据然后写
  • 打赏
  • 举报
回复
peihexian 2004-12-06
to jokerjava(冷血):
难道就没个办法不一个一个的赋值吗?逐个赋值很麻烦的,尤其是界面上的是一些checkbox等东西时,比如我的表中有一个字段是boolean型的,我想在这个字段中的值为true让界面中的某个checkbox设置为选中状态,为false时让界面的checkbox为未选中状态,写一个两个行,写几十个这样的语句感觉很繁琐。

  • 打赏
  • 举报
回复
jokerjava 2004-12-06

out.println("document.form1.name.value='"+pojo.getName()+"';"); //pojo.getName

struts 有标签 <bean:write name="xx" property="xx"/>
还是
<input type="text" name="name" value="<%=pojo.getName()%>">
无论你怎么写 不都是一样性质么

这算什么问题呢
因为view层怎么显示 显示什么数据 只有view才能知道
只能由view层从别的地方提取 然后写入

如果你用配置文件配置的话 感觉上就是舍近求远了
  • 打赏
  • 举报
回复
loverisyour 2004-12-06
使用的useBean
  • 打赏
  • 举报
回复
tom2005 2004-12-06
up
  • 打赏
  • 举报
回复
peihexian 2004-12-06
to jerrykey(钥匙) :
这个问题俺也考虑过,因为有很多时间pojo的属性和actionform类中的好多的属性都是一样的,好像apache的beanutil可以直接copy同属性的东西吧?

就是这么回事:
pojo对象(我的pojo是hibernate生成的类文件)
class person{
private String name;
private Byte age;
public void setName(String name){
this.name=name;
}
public string getname(){
return this.name;
}
}

到时候我的actionform可能是这样的:

public actionform1 extend xxxxx{ (还不知道是什么父类,还没学strtus呢)
private String name;
public void setName(String name){
this.name=name;
}
public string getname(){
return this.name;
}
}

单就getname和setname来说,Pojo和actionform中是一样的,所以如果再写pojo.setname(actionform.getname());这样的语句的话那岂不是太傻了?

一定有办法不写actionform与pojo对象之间二次赋值的语句,可不可以直接拿pojo做actionform??俺不懂,乱说的,请大家批评指教!
  • 打赏
  • 举报
回复
kaymo 2004-12-06
赫赫
模仿struts做一个类似于actionform类出来
把从pojo取东西做到这个类里面
  • 打赏
  • 举报
回复
jerrykey 2004-12-06
呵呵,其实struts也需要去负值的,只不过是通过actionform,会方便点。
  • 打赏
  • 举报
回复
peihexian 2004-12-06
to linuxbing(翅膀) ( ) :
我也是考虑把值给strtus的actionform,让struts帮我去显示这些值,就冲这一条俺就要用struts,管它有多难学,一定要学会,我再也受不了给html界面显示赋值了!
  • 打赏
  • 举报
回复
peihexian 2004-12-06
to drugon(personal):
有什么工具可以自动给view层赋值?
  • 打赏
  • 举报
回复
jerrykey 2004-12-06
如果不用struts可以这样写。
<input type="text" name="yourname" value="<%=pojo.getName()%>"
你这个bean中的变量可以声明为静态的。
  • 打赏
  • 举报
回复
drugon 2004-12-06
不用工具就只能是一个个的字符敲到计算机中去。
  • 打赏
  • 举报
回复
linuxbing 2004-12-06
struts里面的ActionForm对应你的页面表单,你在action里面把ActionForm里面的变量赋值后,jsp页面就会直接把赋值后的表单内容显示出来。
  • 打赏
  • 举报
回复
boy 2004-12-06
www.htok.net
根治了这个问题
  • 打赏
  • 举报
回复
okitgo 2004-12-06
用struts更繁琐
每个都这些写
<input type="text" name="name" value="<%=pojo.getName()%>">
  • 打赏
  • 举报
回复
MYLiao 2004-12-06
你可以在JavaBean中实现getName()和setName(),
然后在struts中使用<bean:write name="yourname" property="yournamevalue"/>
  • 打赏
  • 举报
回复
jgsfy 2004-12-06
可以用JAVABEAN实现getName,setName,通过setName存数据,然后useBean后调用它的getName方法取数据,这样一张表建一个javabean.
  • 打赏
  • 举报
回复
AlexSunny 2004-12-06

struts 有标签 <bean:write name="xx" property="xx"/>
  • 打赏
  • 举报
回复
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2004-12-06 01:54
社区公告
暂无公告