Java 在Struts2视图中显示列表
我使用struts2作为MVC框架,但我遇到了一个问题,我的问题在行动中,我定义了 一种称为“公司”的模式,其定义如下:Java 在Struts2视图中显示列表,java,jakarta-ee,struts2,Java,Jakarta Ee,Struts2,我使用struts2作为MVC框架,但我遇到了一个问题,我的问题在行动中,我定义了 一种称为“公司”的模式,其定义如下: class Company { private String name; private String address; ... private List<Staff>staffs; ... } class Staff { private String name; private int age; .... } 如何在视图
class Company
{
private String name;
private String address;
...
private List<Staff>staffs;
...
}
class Staff
{
private String name;
private int age;
....
}
如何在视图中显示整个公司和员工信息(视图是JSP文件)?我在UI中期望的是:
Company info
company name company address...
Staff 1 info
staff name staff age...
Staff 2 info
staff name staff age...
如何定义jsp文件?虽然可以使用OGNL显示公司信息,但员工信息如何,因为它是一个列表,其编号不确定
有人告诉我可以使用迭代器,但我的要求是:
除了在UI中显示员工信息外,我还希望员工可以编辑,例如,我可能会定义“表单”,如下所示
class Action
{
private Company company;
public String execute(){
}
}
<s:form>
Company info: Company Name:<s:input name="company.name"/> Company Address:<s:input name="company.name"/>
Staff 1 info: ....
Staff 2 info: ...
<s:form>
公司信息:公司名称:公司地址:
工作人员1信息:。。。。
职员2信息:。。。
是否可以使用“表单”或“输入”定义员工信息?您可以使用Struts2对列表进行迭代,并在JSP页面上显示所有信息
迭代器将迭代一个值。iterable值可以是以下任意值:java.util.Collection、java.util.Iterator
有关更多详细信息,请参阅迭代器。要获取公司名称和地址,只需执行以下操作即可
<s:property value="company.name"/>
<s:property value="company.address"/>
并使用struts迭代器标记获取员工列表
<s:iterator value="company.staffs" status="stat">
Staff <s:property value="%{#stat.index}" />
<s:property value="name" /> <s:property value="age" />
</br>
</s:iterator>
工作人员
您可以指向列表或映射的元素,这些元素使用IteratorStatus对象指定其索引:
<s:property value="company.name"/>
<s:property value="company.address"/>
<s:iterator value="company.staffs" status="stat">
<span>Staff <s:property value="%{#stat.index}" /> info: </span>
<label>name: </label>
<s:textfield name="company.staffs[%{#stat.index}].name" />
<label>age: </label>
<s:textfield name="company.staffs[%{#stat.index}].age" />
<br/>
</s:iterator>
员工信息:
姓名:
年龄:
除了在UI中显示员工信息外,我还希望员工可以编辑,例如我可能会将“表单”定义为以下公司信息:公司名称:公司地址:员工1信息:。。。。职员2信息:代码>是否可以使用“表单”或“输入”定义员工信息?是的,您可以使用标记来完成此操作。是的,这正是我所期望的,谢谢,顺便问一下,您是否可以推荐任何关于在这种情况下如何使用OGNL的教程?例如在列表、地图或任何其他常用java数据中structure@Chailie在维基上有一些,但它们很少;)抱歉@Chailie,没有。但它们总是一样的<编码>[%{stat.index}]
用于数字索引(列表),['%{stat.index}]
用于字符串键(映射)。请随意深入我的OGNL和Struts2标签问题(我的个人资料->标签->点击标签->浏览答案),也许你会发现一些有趣的事情:)