Struts2的Action向JSP传输List集合并且将数据显示在页面上

1、当类型是List<String>时

 Action中代码:

List<String> list = new ArrayList<String>();
            list.add("zhangsan");
            list.add("lisi");
            list.add("wangwu");
        ActionContext.getContext().put("list", list);
        return SUCCESS;

JSP中代码:

导入标签库:

<%@ taglib prefix="s" uri="/struts-tags"%> 

用 Struts2的s标签:

 <center>
    	<s:iterator id="li" value="list" status="">
    	<s:property value="li"></s:property></br>
    	</s:iterator>	
    </center>

迭代循环之后会将List集合中的String类型的数据一一显示在页面上。

2、当类型是List<User>(User是实体类)时

Action中代码:

List<User> list= new ArrayList<User>();
ActionContext.getContext().put("list", list);

当User中有name、password等多个属性时,我们从数据库中查询取出多条记录,放入List<User>集合中,然后传输到JSP并显示在页面上:

<s:iterator value="list" status="li">
<s:property value="username"/></br>
<s:property value="password"/></br>
</s:iterator>

上面的代码同样需要导入标签库,也可以对显示的数据内容进行包装。

顺便提一下,当数据类型为Map集合时,实现代码与类型为List<User>时类似,JSP用s标签根据Map集合中的key来取值:<s:property value="key"/>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在项目添加 Hibernate 和 Struts2 的依赖,并配置数据库连接信息。具体的步骤可以参考官方文档。 接下来,你需要创建一个实体类来映射数据库的表结构,同时在实体类添加一个 byte[] 类型的属性来存储文件。 然后,在 Struts2Action ,你可以通过 HttpServletRequest 的 getInputStream() 方法获取上传的文件流,将其转换为 byte[] 数组,并设置到实体类的属性。最后,将实体类保存到数据库即可。 在 JSP 页面上,你可以通过 Struts2 的标签库来显示文件列表,并提供上传文件的表单。具体的代码可以参考如下示例: 实体类: ``` @Entity @Table(name = "file") public class FileEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; private String name; private byte[] content; // getters and setters } ``` Struts2 Action: ``` public class FileAction extends ActionSupport { private List<FileEntity> files; private FileEntity file; private FileService fileService; public String list() { files = fileService.getAll(); return SUCCESS; } public String upload() throws Exception { InputStream inputStream = new FileInputStream(file); byte[] content = IOUtils.toByteArray(inputStream); file.setContent(content); fileService.save(file); return SUCCESS; } // getters and setters } ``` JSP 页面: ``` <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>File upload example</title> </head> <body> <h1>File upload example</h1> <s:form action="upload" method="post" enctype="multipart/form-data"> <s:file name="file" label="Select file"/> <s:submit value="Upload"/> </s:form> <hr/> <h2>Uploaded files</h2> <table> <tr> <th>Name</th> <th>Action</th> </tr> <s:iterator value="files"> <tr> <td><s:property value="name"/></td> <td><a href="<s:url action='download'><s:param name='id' value='%{id}'/></s:url>">Download</a></td> </tr> </s:iterator> </table> </body> </html> ``` 以上代码仅供参考,具体的实现方式可能因应用场景和技术栈而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值