JSP页面使用Struts2.x 表达式获取Map中存储的对象

JSP 做棵大树 6年前 (2018-05-02) 2095次浏览 0个评论

首先先贴出来 java 文件代码,和 jsp 页面代码,用于对比参照

BookAction.java 代码

        //搜索图书功能
	public String searchBook() throws Exception{
		Map<String, Book> keyBooks = new HashMap<String, Book>();
                //创建 Map 对象,用于存储书籍的对象
		for (Book a : Book.bookList) {         
                        //对 Book 类中的 ArrayList 进行便利,然后获取符合条件的对象
			if (a.getBookName().toLowerCase().contains(keyword.toLowerCase())) {
				keyBooks.put(a.getBookNo(), a); 
                               //添加到 Map 中
			       application.setAttribute("keyBooks", keyBooks); 
                               //在将其添加到 application 中,用于前台的获取。
				
			}
		}
		if (!keyBooks.isEmpty()) {
			return SUCCESS;
		} else {
			return ERROR;
		}
		
	}

index.jsp

<table>
<tr>
<td>书籍编号</td>
<td>书籍名称</td>
<td>书籍作者</td>
<td>书籍价位</td>
</tr>
<s:iterator value="#application.keyBooks" status="st">
<!-- 判断是否迭代的索引是否是奇数决定 CSS 样式 -->
<tr
<s:if test="#st.odd">
style="background-color:#BBFFFF"</s:if>
<s:else>style="background-color:#FFEBCD"</s:else>>
<!-- value 中使用 value.book* 表示提取 Map 中的 value 属性,然后在得到属性的属性 -->
<td><s:property value="value.bookNo" /></td>
<td><s:property value="value.bookName" /></td>
<td><s:property value="value.bookAuthor" /></td>
<td><s:property value="value.bookPrice" /></td>
</tr>
</s:iterator>
</table>

在 Jsp 页面中使用的标签中,value 属性中为 value.*** 因为是事先获取到 Map 中的 value 属性,即获取到了类型为 BOOK 类型的值,然后通过“ .  ”运算,获取到对象相关的属性。


做棵大树 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明JSP 页面使用 Struts2.x 表达式获取 Map 中存储的对象
喜欢 (1)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Ads Blocker Image Powered by Code Help Pro

靓仔,把广告拦截插件关了吧~ 给孩子两毛钱广告费吧~

我们检测到您使用了广告屏蔽插件,建议您把 广告屏蔽插件关闭 或者 添加本站为白名单 即可

个人网站运营不易,感谢体谅啊~

打赏博主会让我更加开心啦~(。・∀・)ノ

Powered By
100% Free SEO Tools - Tool Kits PRO