<nested>标签的作用

本文通过示例展示了如何在Struts2框架中使用嵌套属性来处理复杂的表单数据,包括用户信息和地址信息的收集。
 

我先借鉴一个前辈的帖子:

比如我有一个UserInfo类和一个Address类,前者记录用户的帐号密码,后者记录用户的详细信息。前者也有一个Address属性,这样它们两者是嵌套了。
一种方式是在actionForm中用两个属性UserInfo和Address。

<nested:nest property="userInfo">
   <tr align="center">
      <td width="88" height="30">用&nbsp;户&nbsp;名:</td>
      <td width="203"><nested:text property="useraccount" size="30"/></td>
   </tr>
   <tr align="center">
      <td height="30">密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
      <td><nested:password property="password"  size="30"/></td>
   </tr>

 </nested:nest> 
    <nested:nest property="address">
       <tr align="center">
           <td height="30">用户地址:</td>
           <td><nested:text property="streetOne"  size="30"/></td>
     </tr>
     </nested:nest>

再有一种方式在actionForm中用一个属性UserInfo,因为Address是UserInfo的一个属性。

<nested:nest property="userInfo">
   <tr align="center">
      <td width="88" height="30">用&nbsp;户&nbsp;名:</td>
      <td width="203"><nested:text property="useraccount" size="30"/></td>
   </tr>
   <tr align="center">
      <td height="30">密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
      <td><nested:password property="password"  size="30"/></td>
   </tr>
    <nested:nest property="address">
       <tr align="center">
           <td height="30">用户地址:</td>
           <td><nested:text property="streetOne"  size="30"/></td>
     </tr>
     </nested:nest>
</nested:nest>

对比下第二种方法更简便

Traceback (most recent call last): File "C:\Users\gwx1451744\PycharmProjects\untitled1\analysis.py", line 54, in <module> result = check_bluetooth_timeout(error_xml_path, debug_xml_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\gwx1451744\PycharmProjects\untitled1\analysis.py", line 11, in check_bluetooth_timeout debug_tree = ET.parse(debug_xml_path) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\gwx1451744\AppData\Local\Programs\Python\Python311\Lib\xml\etree\ElementTree.py", line 1218, in parse tree.parse(source, parser) File "C:\Users\gwx1451744\AppData\Local\Programs\Python\Python311\Lib\xml\etree\ElementTree.py", line 580, in parse self._root = parser._parse_whole(source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ xml.etree.ElementTree.ParseError: mismatched tag: line 2, column 187 以下是我的xml内容: <error> <Times>2025-10-10 19:37:47</Times> <Event>升级特性</Event> <Status>扫描结果上报</Status> <Info1>不搜索包</Info1> <Info2>0x00</Info2> <Info3></Info3> <Translate></Translate> <Times>2025-10-10 19:37:49</Times> <Event>升级特性</Event> <Status>版本号打印</Status> <Info1>收到新版本信息</Info1> <Info2>0x01</Info2> <Info3>362e302e302e37285350324330304d30306c6f6729</Info3> <Translate></Translate> <Times>2025-10-10 19:38:15</Times> <Event>升级特性</Event> <Status>扫描结果上报</Status> <Info1>不搜索包</Info1> <Info2>0x00</Info2> <Info3></Info3> <Translate></Translate> <Times>2025-10-10 19:38:17</Times> <Event>升级特性</Event> <Status>版本号打印</Status> <Info1>收到新版本信息</Info1> <Info2>0x01</Info2> <Info3>362e302e302e37285350324330304d30306c6f6729</Info3> <Translate></Translate> <Times>2025-10-10 19:38:48</Times> <Event>升级特性</Event> <Status>单个包传输文件大小</Status> <Info1>0x00</Info1> <Info2>0x00</Info2> <Info3>03da</Info3> <Translate></Translate> <Times>2025-10-10 19:38:51</Times> <Event>升级特性</Event> <Status>版本号打印</Status> <Info1>在线升级目标版本</Info1> <Info2>0x00</Info2> <Info3>362e302e302e37285350324330304d30306c6f67297c362e302e302e37284330304d30306c6f6729</Info3> <Translate></Translate> <Times>2025-10-10 19:38:51</Times> <Event>升级特性</Event> <Status>升级传输方式</Status> <Info1>蓝牙传输</Info1> <Info2>0x00</Info2> <Info3></Info3> <Translate></Translate> <Times>2025-10-10 19:38:51</Times> <Event>升级特性</Event> <Status>实际传输升级包大小</Status> <Info1>0x00</Info1> <Info2>0x00</Info2> <Info3>00eb915b</Info3> <Translate></Translate> <Times>2025-10-10 19:40:24</Times> <Event>升级特性</Event> <Status>在线升级失败</Status> <Info1>蓝牙异常</Info1> <Info2>0x00</Info2> <Info3>362e302e302e37284330304d30306c6f6729</Info3> <Translate></Translate> </error>
最新发布
10-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值