点集贵州电脑网
 
 
 梦想之源 ›› 灌水专区 ›› 在T4中select提交的问题 版主:
灌水专区
新建论坛
申请免费TS
1 / 1 页
<< 1 >>
跳转
 主题:在T4中select提交的问题
 
 lele
发表时间:[2007-10-29 16:53:33] [向作者发站内短信] [复制链接告诉朋友]
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0

    <component id="device_type" type="PropertySelection">
          <binding name="model" value="ognl:getSelect('1000001')"/>
          <binding name="value" value="ognl:device.id"/>
    </component>

我可以使用这样方式将在页面上选择的值存放到对象device中,这个时候该select 是动态生成的,那么如果我的select 在页面上是 如下

<select name="demo">

<option value="9">开心</option>

...

</select>

那么 怎么取出在页面上选择的select列表中的值


 楼主更多新贴 :  
灌水专区jfreechart图形上的链接
灌水专区itemselection的问题
灌水专区ognl:devicegroup.id
灌水专区foreach的问题
  楼1  
等 级:下士
经 验:1683
性 别:帅哥
文 章:496
精 华:2
 干煸四季豆
发表时间:[2007-10-29 21:51:28] [向作者发站内短信] [复制链接告诉朋友]

提交的时候,<binding name="value" value="ognl:device.id"/>帮定的device.id会得到值。

PS:你使用OGNL表达式的方式有些奇怪。看起来不是标准的JAVABEAN,而且无法避免重复运行导致的资源浪费。我建议你试试这种方式:

private List selectList;

@Override

protected initialize() {

         selectList = null;

}

public List getSelectList() {

       if(selectList==null) {

               selectList = ....// do something with your '1000001'

       }

      return selectList ;

}

这样的话,如果网络原因或者其它某种可能造成页面重复刷新,只要在同一个页面对象中,selectList 将只初始化一次。

从我看你使用OGNL的方式来看,你似乎更喜欢JSP的做法,或者说,你在把Tapestry当作JSP来用。因为一些固定参数,你更喜欢写在页面上。。。。说实话,我觉得这种方式不合理,降低了代码的可读性,而且性能没有最优化。。。就我过去的应用而言,使用OGNL表达式都只局限于基本表达式,没有用过这么复杂的方式。

  楼2  
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0
 lele
发表时间:[2007-10-30 09:12:10] [向作者发站内短信] [复制链接告诉朋友]

其实我现在是使用你下面说的那种方式做的 只是没将代码放上来 此外,我们要得到select列表的值 都是通过ognl 绑定一个对象的属性是吧, 其实昨天我想问的是:如果现在这个select和我们以前在html里写的select一样 value text都是定值 这个时候想在提交后得到这个select的值或者text  怎么做 ?其实是想问这个 

  楼3  
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0
 lele
发表时间:[2007-10-30 09:14:32] [向作者发站内短信] [复制链接告诉朋友]

根本原因是 <option value=""></option>里的text是通过JS生成的 value是默认的

  楼4  
等 级:下士
经 验:1683
性 别:帅哥
文 章:496
精 华:2
 干煸四季豆
发表时间:[2007-10-30 10:45:43] [向作者发站内短信] [复制链接告诉朋友]

如果现在这个select和我们以前在html里写的select一样 value text都是定值 这个时候想在提交后得到这个select的值或者text  怎么做 ?其实是想问这个    根本原因是 <option value=""></option>里的text是通过JS生成的 value是默认的

定值?我猜一个哈。  恩~,性别下拉菜单,男女选项是固定的,这种?如果是这种,不会妨碍你正常使用ProportySelection组件呀,自己构造一个装载“男”、“女”的集合,然后自己分配一个唯一的ID作为value,提交的时候,根据这个唯一ID来识别。比如男是0,女是1。ProportySelection获取0或1以判断是男是女,总比获取中文判断好。

如果不是这种理解,那么是不是你的下拉菜单纯JS生成呢?如果是这样,你也可以不用ProportySelection组件。既然能够全JS生成下拉菜单,那么放个hidden域,在提交的时候,加个实践,把下拉菜单选中值用JS设置到hidden域中,如果是字符串,那么前面加个“S”,如果是数字,就不用加。通过hidden组件帮定的页面属性,在提交的时候,也可以获得下拉菜单任意你想要的值。

如果我还是没有理解对,那么我猜不到你想怎么做了。你需要描述更清楚。

  楼5  
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0
 lele
发表时间:[2007-10-30 17:02:55] [向作者发站内短信] [复制链接告诉朋友]

如题:

“把下拉菜单选中值用JS设置到hidden域中,如果是字符串,那么前面加个“S”,如果是数字,就不用加” 这个我不是太理解,我这里都是字符串的值,为什么要加S,我现在这2种方式都有,第一个我是可以做到的,但第二种如你所说,确实是JS生成的,放到hidden里, ,<binding name="value" value="ognl:device.paras"/> 那么我这么绑定了,在JS里,直接把select的值放到hidden里,然后提交,在实现里得到这个paras,他是device对象的属性。这样可以吧。

  楼6  
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0
 lele
发表时间:[2007-10-30 19:03:45] [向作者发站内短信] [复制链接告诉朋友]

恩问题解决了  呵呵 学什么东西还是要多想想原理

  楼7  
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0
 lele
发表时间:[2007-10-30 19:27:40] [向作者发站内短信] [复制链接告诉朋友]

不过 加S这个 还不是太清楚

  楼8  
等 级:下士
经 验:1683
性 别:帅哥
文 章:496
精 华:2
 干煸四季豆
发表时间:[2007-10-31 00:41:12] [向作者发站内短信] [复制链接告诉朋友]

把书看完,你就懂了。有专门的章节讲解T的参数传递

1 / 1 页
<< 1 >>
跳转
  快速回复
  帐号: 密码: 匿名不登陆
回复内容:  
验 证 码:
 
 
·VIP收费TS,您明智的选择!
·9800GT+19'液晶DIY仅售3500元
·双核特惠:1999、2999、3999
·什么是点金积分,如何查看自
·团购一期:三星R458-DS0G+高
  
贵州点集科技发展有限责任公司·点集贵州电脑网 版权所有©2006-2008
中华人民共和国增值电信业务经营许可证 黔B-20070010号
客服QQ: 93804809818866281927205370
电子邮件: deangi@vip.sina.com
技术支持: 0851-5109268