- 浏览: 640392 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java.math.BigDecimal类的用法 -
tuspark:
文章写的挺详细了,但是感觉太乱了,真不如这篇文章: BigDe ...
java.math.BigDecimal类的用法 -
u010040765:
感谢楼主分享,写的很详细,很容易看懂
Struts2中iterator标签遍历map总结 -
若无勇气终将褪去:
[flash=200,200][url][list][*][/ ...
java.math.BigDecimal类的用法 -
若无勇气终将褪去:
...
java.math.BigDecimal类的用法
1,菜单主类:MainMenu,这个类定义了菜单的基本信息
2.菜单主类管理 MainMenuManage ,这个类负责从数据库提取数据
3,获取菜单的action
4,struts.xml文件配置
5,JSP页面
谁能帮我看看上面的问题啊?为什么属性:main_kind,main_name,main_desc,main_pic都显示空呢?
问题解决了,原来是变量命名问题导致的:
在MainMenu.java中不能将变量命名为main_kind这种形式,而要命名为:mainKind这种形式,真郁闷!
/** * */ package org.jeelee.bean; /** * @author JeeLee * */ public class MainMenu { private String main_kind=""; private String main_name=""; private String main_desc=""; private String main_pic= ""; public MainMenu() { } /** * 设置菜单主类的类别 * @param main_kind,String 类型 */ public void setMainKind(String main_kind) { this.main_kind = main_kind ; } /** * 获得菜单主类的类型 * @return 返回菜单主类的类别,String类型 */ public String getMainKind() { return this.main_kind ; } /** * 设置菜单主类的名称 * @param main_name,String 类型 */ public void setMainName(String main_name) { System.out.println("main_name====================="+main_name); this.main_name = main_name ; } /** * 获得菜单主类的ID * @return 菜单主类的名称,String类型 */ public String getMainName() { return this.main_name ; } /** * 设置菜单主类的描述 * @param main_desc */ public void setMainDesc(String main_desc) { this.main_desc = main_desc ; } /** * 获得菜单主类的类别描述 * @return */ public String getMainDesc() { return this.main_desc ; } /** * 设置菜单主分类的图片 * @param pic */ public void setMainPic(String main_pic) { this.main_pic = main_pic ; } /** * 获得菜单主分类的图片 * @return */ public String getMainPic() { return this.main_pic ; } }
2.菜单主类管理 MainMenuManage ,这个类负责从数据库提取数据
/** * 菜单次主类管理 */ package org.jeelee.bean; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import org.jeelee.dbmanage.DBManage; import org.jeelee.bean.MainMenu; /** * @author JeeLee * */ public class MainMenuManage { public MainMenuManage() { } DBManage dbmanage = new DBManage(); /** * 获得菜单主分类,所有分类 * @return */ public List<MainMenu> getAllMainMenus(){ Connection conn = null; Statement stm = null; ResultSet rs = null; String sql = "select main_kind, main_name, main_desc,main_pic from mainmenu " ; List<MainMenu> mainmenuList =new ArrayList<MainMenu>(); conn = dbmanage.getConnection(); try { stm = conn.createStatement() ; rs = stm.executeQuery(sql); while(rs.next()) { MainMenu myBean = new MainMenu() ; myBean.setMainKind(rs.getString("main_kind")) ; myBean.setMainName(rs.getString("main_name")) ; myBean.setMainDesc(rs.getString("main_desc")) ; myBean.setMainPic(rs.getString("main_pic")); System.out.println("main_kind="+rs.getString("main_kind")+",main_name="+rs.getString("main_name")); mainmenuList.add(myBean); } } catch(SQLException ex1) { System.out.println("提取主菜单失败:"+ex1); } finally { try { rs.close(); stm.close(); conn.close() ; } catch(SQLException ex2) { System.out.println("关闭提取主菜单失败:"+ex2); } } System.out.println("mainmenuList size================="+mainmenuList.size()); return mainmenuList ; } }
3,获取菜单的action
/** * 菜单主分类之action */ package org.jeelee.action; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import org.jeelee.bean.MainMenu; import org.jeelee.bean.MainMenuManage; /** * @author JeeLee * */ public class MainMenuAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; MainMenu mainMenu ; List<MainMenu> mainMenus ; MainMenuManage mainMenuManage = new MainMenuManage() ; //action 中的method public String list() { mainMenus = mainMenuManage.getAllMainMenus(); System.out.println("mainMenus.size="+mainMenus.size()); return SUCCESS ; } public void setMaiaMenu(MainMenu mainMenu) { this.mainMenu = mainMenu ; } public MainMenu getMainMenu() { return this.mainMenu ; } public void setMainMenus(List mainMenus){ this.mainMenus = mainMenus ; } public List getMainMenus() { return this.mainMenus ; } public void setMainMenuManage(MainMenuManage mainMenuManage) { this.mainMenuManage = mainMenuManage ; } public MainMenuManage getMainMenuManage() { return this.mainMenuManage ; } }
4,struts.xml文件配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="jeelee" extends="struts-default"> <action name="mainMenuList" class="org.jeelee.action.MainMenuAction" method="list"> <result>mainmenu_list.jsp</result> </action> <action name="personList" class="org.jeelee.action.PersonAction" method="list"> <result>admin/personList.jsp</result> </action> </package> </struts>
5,JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>main menu manage</title> <link rel="stylesheet" rev="stylesheet" href="admin.css" type="text/css" media="all" /> <script src="resize.js" type="text/javascript"></script> </head> <body onload="resize()"> <s:form theme="simple"> <div id="container" > <div id="title" onresize="resize()">菜单主分类管理</div> <table id="tab"> <thead> <tr> <th>Row</th> <th><strong>菜单主分类ID</strong></th> <th><strong>菜单主分类名称</strong></th> <th><strong>菜单主分类描述</strong></th> <th><strong>菜单主分类图片</strong></th> <th><strong>修改</strong></th> <th><strong>删除</strong></th> </tr> </thead> <tbody> <s:iterator value="mainMenus" status="st" id="mainmenuID"> <tr> <td><s:property value= '#st.index+1' /></td> <td><s:property value="main_kind" /></td> <td><s:property value="main_name" /></td> <td><s:property value='main_desc' /></td> <td><s:property value='main_pic' /></td> <td><a href="<s:url action='mainMenuEdit'><s:param name='main_kind' value="main_kind"/></s:url>">修改</a></td> <td><a href="<s:url action='mainMenuDelete'><s:param name='main_kind' value='main_kind'/></s:url>">删除</a></td> </tr> </s:iterator> </tbody> </table> </div> </s:form> </body> </html>
谁能帮我看看上面的问题啊?为什么属性:main_kind,main_name,main_desc,main_pic都显示空呢?
问题解决了,原来是变量命名问题导致的:
在MainMenu.java中不能将变量命名为main_kind这种形式,而要命名为:mainKind这种形式,真郁闷!
发表评论
-
struts 用if标签判断session是否存在
2016-12-06 20:20 823登录时设置session session.put(&quo ... -
struts2 s:property 用法
2016-03-05 14:15 10111,访问Action值栈中的普 ... -
<s:hidden>标签获取url中的参数
2016-03-05 11:29 1062假设URL传递的参数: url="adminIn ... -
struts条转后,js、css失效问题
2015-08-31 20:58 0最近遇到了一个奇怪的问题,Struts2进行完处理后跳转到其他 ... -
<s:iterator>各种遍历用法
2015-08-31 20:43 0<s:iterator>各种遍历用法 转自:ht ... -
ibatis连接oracle11G报错,原因是ojdbc.jar包的bug
2015-03-21 11:59 1149ibatis连接oracle11G报错,原因是ojdbc.ja ... -
<s:iterator>的status属性
2015-03-16 21:49 1222<s:iterator>的status属性 &l ... -
struts2.2.3 web.xml配置变化
2011-12-24 16:09 1246<filter> <filter-n ... -
struts警告信息
2011-09-03 14:30 1270警告信息: 警告: No con ... -
struts2.2.3需要11个基本包
2011-09-03 14:22 2686struts2.2.3需要11个基本包: asm-3.1.ja ... -
struts2中常用Result类型的用法
2010-09-05 09:42 1362一、dispatcher (1)为缺省的result类型,一 ... -
java.lang.OutOfMemoryError: PermGen space及其解决方法
2010-08-01 18:07 1682java.lang.OutOfMemoryError: Per ... -
pageEncoding和charset
2010-07-31 21:03 1304pageEncoding是jsp文件本身的编码 conten ... -
<taglib>标签在web.xml文件中报错解决方法
2010-07-03 17:11 4474配置web.xml文件时,taglib ... -
如何将java中的属性值显示在文本框中?
2010-05-01 11:38 5157最近写了一个页面,一个文本框中要显示java的属性值 我知道可 ... -
JFreeChart教程(二)
2010-04-18 21:44 96341 一、JFreeChart获取。 JFree ... -
JFreeChart教程(一)
2010-04-18 21:42 1636一、jFreeChart产生图形的流程 创建一个数据源(da ... -
<s:checkbox>标签 嵌套循环
2010-01-09 13:29 1408<s:iterator value="subM ... -
Struts2 DoubleSelect标签的使用
2009-12-30 22:16 2389Struts2本身提供了级联下拉选择框标签,这对简化诸如省份/ ... -
struts2 标签的帮助提示tooltip
2009-12-30 21:14 1430在struts2中标签有个属性tooltip="帮助 ...
相关推荐
这里使用了 `<s:iterator>` 标签来遍历一个列表 `list`。对于列表中的每一个元素 `item`,如果 `item.attrValueId` 不为 `0`,则会显示相应的 `AttrValue`、`CountAll` 和 `CountRequest` 的值;否则只显示 `...
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
在Struts2框架中,`<s:iterator>`标签被广泛用于遍历集合或数组等数据结构。本文将深入探讨如何使用Struts2中的`<s:iterator>`标签来遍历二维数组,并通过实例代码来具体说明其用法。 ### Struts2 Iterator标签 ##...
首先,我们来看如何使用`iterator`标签遍历Map。在Java中,Map是一种键值对的数据结构,`iterator`标签可以通过`key`和`value`属性分别获取键和值。例如: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> ......
### Struts2中Iterator标签的深入解析与应用 在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示...
在Struts2中,`<s:if>`标签用于条件渲染,即如果指定的测试表达式结果为真,则渲染该标签内的内容;反之,则不渲染。此标签支持各种类型的比较操作,包括但不限于等同性、包含性等。但在处理字符串和字符时,由于...
- `<s:iterator>` 标签用于遍历集合数据。 - 示例: ```xml <s:iterator value="linkList" status="bean"> <tr> <td class="data_tab_tdcl"> <s:property value="#bean.Index+1"/> </td> <td class="data_...
以上只是Struts2标签库的一部分,实际使用中还有更多标签如`<s:textfield>`(文本输入框)、`<s:textarea>`(文本区域)、`<s:submit>`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...
在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于遍历集合或数组中的元素,尤其在处理列表数据时极为有用。通过本文档提供的代码示例,我们将深入探讨`<s:iterator>`标签的使用方法及其与不同数据...
在 Struts2 框架中,`s:iterator` 是一个非常重要的标签,它主要用于遍历集合数据(如数组、列表、映射表等),并且在 JSP 页面上显示这些数据。下面将根据提供的示例代码对 `s:iterator` 在不同场景下的使用进行...
Struts2框架中的`s:iterator`标签是用于循环遍历数据集合的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其各种属性。 1. **基本用法** `s:iterator`标签的基础用法是通过`...
当前索引是偶数为:<s:property value='#st.index'/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 这段代码会判断当前元素索引是否为偶数,并打印相应的索引和元素值。 3. **遍历Map** ...
1. <s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用 H: 1. <s:head/>-----在<head></head>里使用,表示头文件结束 2. <s:hidden></s:hidden>-----隐藏值 I: 1. <s:...
`<s:token>` 用于防止重复提交,`<s:tree>` 创建树形结构,`<s:treenode>` 定义树节点,`<s:updownselect>` 创建可上下选择的多选框,`<s:url>` 生成URL,通常与Action关联。 以上就是Struts标签的基本介绍,它们极...
`<s:iterator>`则用于遍历集合,如`<s:iterator value="list" status="item"><s:property name="item.property"/></s:iterator>`,status属性可以为迭代器创建别名。 以上就是Struts2中部分常用的标签及其用法,...
`s:iterator`用于遍历集合,是Struts2中非常重要的标签,可以遍历数组、列表等集合类型的数据。 H. `<s:head>`,`<s:hidden>`: `<s:head>`标签用于在页面<head>部分插入结束标签`</head>`,常用于设置页面头部信息...
<s:if test="#st.even">现在索引是偶数,索引为:<s:property value="#st.index"/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 3. **遍历 Map** 对于 Map,`value` 属性可以设置为 ...
1. `<s:generator>`:与`s:iterator`标签配合使用,生成序列。 H组标签: 1. `<s:head>`:在HTML的`<head>`标签中使用,用于结束头文件。 2. `<s:hidden>`:创建隐藏字段,用于存储不显示的数据。 I组标签: 1. `...
- `<s:iterator>`:遍历集合或数组,输出元素,支持多种操作,如条件判断、循环控制等。 K. `<s:label>`: - 创建只读标签,常用于展示静态文本或模型属性。 L. `<s:merge>`: - 合并遍历集合时产生的值,可以用于...
- `<s:iterator>`:遍历集合,常用于循环渲染数据。 - `<s:inputtransferselect>`:用于在两个列表之间转移选择项。 K. 标签辅助: - `<s:label>`:创建只读标签,通常用于显示文本。 L. 选项与选择框: - `<s:...