今天在项目中遇到这个问题,记下错误的原因,错误出在<jsp:usebean>的id命名上。此id是为了在JSP中使用某个bean而给该bean取一个别名。取这个名字的原因:
第一,Java中,考虑到代码的可阅读性和使用的方便性,在给类命名的时候,通常让其名字有其功能的意义。这样一来,就有可能使类的名字过长。过长的bean的名字在JSP文件中使用就不方便了,通过id,就可以避免了上述的不方便。
第二,同一个JSP文件中不允许bean的id重名;不同的JSP文件中是可以重名的,即使这两个JSP使用了同一个bean,但前提是这两个JSP文件相对独立。
Eg: 形如a.jsp和b.jsp两个文件,倘若在a.jsp中有这么一句 :
<%@include file="b.jsp"%>
这样一来此二文件就有了关联,将二者视为同一JSP文件,换言之,id不能重名。现在你是不是觉得第一条只是表面现象了。也就是说不使用别名的话,无法在相关联的N个JSP文件中使用同一个bean。使用bean的时候,一旦有id重名,就会报错:Duplicate bean name。
也就是说,如果在前前页面没有找到同名的id名,就看看引用的其他页面是否有给当前页面重名的id了。。。
分享到:
相关推荐
- DuplicateKeyException:表示尝试插入重复键的异常。 35、使用Spring访问Hibernate的方法有哪些? 使用Spring访问Hibernate的方法包括: - 使用Spring的HibernateTemplate和HibernateDaoSupport类。 - 使用...
这段配置表示,当用户请求以"/userAtion"开头的URL时,Struts会使用`UserAction`类处理该请求,`name`属性与之前定义的`<form-bean>`中的`name`属性匹配,确保Action使用正确的ActionForm来处理请求数据。...
public static int findDuplicate(int[] nums) { int expectedSum = 500500; // 1+2+...+1000 int actualSum = 0; for (int num : nums) { actualSum += num; } return actualSum - expectedSum; } ``` #### ...
) ON DUPLICATE KEY UPDATE blob_column = ?"; jdbcTemplate.update(sql, id, blobContent, blobContent); } ``` 为了获取和设置BLOB或CLOB值,我们可以使用`PreparedStatement`的`setBlob`和`getBlob`方法。在...
int duplicate = (a[0] + a[1] + ... + a[1000]) - (1 + 2 + ... + 1000); ``` 这里的关键在于,通过求和运算而非传统遍历比较,避免了额外的空间需求。 #### 五、Servlet的生命周期与基本架构 Servlet具有明确的...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested ...
javax.ejb.DuplicateKeyException - C. javax.ejb.NoSuchEntityException - D. javax.ejb.ObjectNotFoundException - **答案**: D **解析**: 当使用容器管理的持久性时,findByPrimaryKey方法用于查找具有特定...
异常信息:“Error creating bean with name 'hibernateSessionFactory'” 这通常是因为在Spring容器初始化阶段,名为`hibernateSessionFactory`的Bean创建失败。问题可能出在: - **配置错误**:检查`WEB-INF/...
Java lambda list转换map时,把多个...上述代码将抛出NullPointerException异常,因为StudentDTO对象的StudentName为空。 在使用Collectors.toMap()方法时,需要注意Duplicate Key和value为空的情况,以免抛出异常。