小编Pas*_*ent的帖子

JSF 2:没有为错误页面呈现Facelets组合(模板)

我在Java EE 6应用程序服务器(GlassFish v3)中使用带有Facelets的JSF 2.0.我在web.xml中为异常配置了一个错误页面:

<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/error-all.xhtml</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

这是/error-all.xhtml测试页面:

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                template="/resources/templates/decorator.xhtml">

    <ui:define name="title">Title</ui:define>

    <ui:define name="body">
        <h1>Body</h1>
    </ui:define>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

我实现了一个托管bean,当我点击我的一个commandLinks时,它会故意抛出RuntimeException.当发生这种情况时,会显示/error-all.xhtml页面的内容,但它不会通过Facelets获取进程,因此不会应用template ="/ resources/templates/decorator.xhtml".

使用谷歌浏览器,我只看到"标题"和"正文",结果没有布局.如果我要求Chrome检查这些元素,我会得到完整的源代码,其中包括ui:compositionui:define标记,Chrome显然无法理解.这证实了我的理论,即Facelets页面没有被处理.

所以,我的问题是,如何解决这个问题?如何处理错误页面并返回HTML代码,该代码是模板与错误页面内容组合的结果?

java jsf facelets jsf-2

1
推荐指数
1
解决办法
5465
查看次数

Spring-Hibernate在webapp中使用,什么是Thread安全会话管理的策略

我正在开发一个使用Spring和Hibernate的Web应用程序,我非常痴迷于使应用程序线程安全,并且能够支持基于我的老板建议的重负载,我最终编写自己的session并且session container实现了session per request pattern.另外,我有很多DAOs并且我不愿意为我save method所有的DAOs复制粘贴这个Hibernate写相同的内容GenericDAO(我不能说它是同样的事情,因为当时hibernate不是由jboss拥有)并且做管道工作,并且在压力下,所有变得很快复杂并且在生产中,StaleObjectException和重复数据正确,我我觉得是时候回顾一下我所做的事情,简化它并使其更适合大数据处理.你应该知道的一件事是,一个请求涉及许多DAO.

有石英运行数据库中的一些更新.

尽管我想要更好地调整所有内容,但我没有时间进行必要的研究,而Hibernate则是一种巨大的(学习).

所以就是这样,我想借用你的经验,并提出几个问题,知道要采取什么方向.

问题1:Hibernate生成的uuid足够安全,可以用于线程环境并避免使用StaleObjectException吗?

问题2什么是在threadSafe场景中使用hibernate getCurrentSession的最佳策略(我已经阅读了关于threadlocal的东西,但没有得到太多的理解,所以没有这样做)

问题3:HIbernateTemplate会采用最简单的解决方案吗?

问题4:如果要实现连接池并调整生产服务器的需求,您会选择什么?

请毫不犹豫地将我指向博客或在线资源,我需要的只是一种适用于我的场景的方法.如果你这样做,你的方法.

感谢您阅读本文,欢迎大家的想法......

java session spring hibernate

1
推荐指数
1
解决办法
2397
查看次数

Hibernate Criteria API多个连接

我的hibernate实体如下:

@Entity
@Table(name = "EditLocks")
public class EditLock extends AuditableEntity {

    /** The document that is checked out. */
    @OneToOne
    @JoinColumn(name = "documentId", nullable = false)
    private Document document;
Run Code Online (Sandbox Code Playgroud)

文档然后看起来像这样:

public class Document extends AuditableEntity {
    /** Type of the document. */
    @ManyToOne
    @JoinColumn(name = "documentTypeId", nullable = false)
    private DocumentType documentType;
Run Code Online (Sandbox Code Playgroud)

基本上我想写的查询是:

Select * from EditLocks el, Document docs, DocumentTypes dt where el.documentId = docs.id and docs.documentTypeId = dt.id and dt.id = 'xysz';
Run Code Online (Sandbox Code Playgroud)

如何使用hibernate条件api执行此操作?

java orm hibernate criteria hibernate-criteria

1
推荐指数
1
解决办法
6205
查看次数

哈德森+ git + maven

我很快就会转向git进行版本控制.我的连续构建系统是Hudson,我使用maven来构建我的工件.

任何人都有最佳实践来设置git以最好地使用这些其他工具.

关于如何在git中管理包和插件以便最容易地进入Hudson的建议也将受到赞赏.

谢谢,麻烦您了.

git maven-2 hudson hudson-plugins

1
推荐指数
1
解决办法
2066
查看次数

Hibernate一对多映射是否与列表有效但不是一组?

很抱歉打扰 - 也许这是一个非常简单的问题 - 但由于某种原因,下面的版本无法解析,而带有set的版本工作正常.事实上,如果我只是采取设置版本并用列表替换set我得到:

嵌套异常是org.hibernate.InvalidMappingException:无法从无效映射中解析映射文档

谢谢Misha

    <!-- bi-directional one-to-many association to SpreadsheetImportTemplateColumn -->
    <list name="columns">
<!--
    <set name="columns" lazy="false" inverse="true"
        cascade="all-delete-orphan" sort="natural"
        order-by="voided asc, preferred desc, date_created desc">
-->
        <key column="template_id" not-null="true" />
<!--
        <one-to-many class="SpreadsheetImportTemplateColumn" />
    </set>
-->
    </list>
Run Code Online (Sandbox Code Playgroud)

java orm hibernate hibernate-mapping

1
推荐指数
1
解决办法
2035
查看次数

Eclipse项目和maven依赖

我在eclipse中使用静态文件夹(lib)进行了项目.这个文件夹包含很多库,也是基于maven构建这个项目的过程.我可以自动导入(使用eclipse maven插件)lib文件夹的所有库到maven依赖项,还是我应该手动执行?谢谢.

java eclipse maven-2

1
推荐指数
1
解决办法
399
查看次数

我可以在点击html页面中的html链接时调用Struts2操作

我希望在点击html页面中的html链接时执行Struts2操作.我的第一个问题是,是否可以在html页面(而不是JSP)中执行Struts2操作?如果是,请查看下面的代码:

home.html的

HREF = "home.action"


在struts.xml

action name ="home"class ="com.struts.action.HomeAction"

      result name="Success">loginJSP.jsp
Run Code Online (Sandbox Code Playgroud)

*****web.xml*****我做了过滤映射,以便所有内容都转到Struts2

html java struts struts2

1
推荐指数
1
解决办法
2万
查看次数

Hiber缓存:永久缓存所有固定数据

我有几个表,如国家,州城市,有静态数据.用户不要在此数据中输入任何数据.我为国家,州,城市创造了pojo.很少有pojo与静态数据进行映射.我的要求是每当有任何请求进入Hibernate for Country(21)时,它都不会命中数据库而是从缓存中返回数据.这在Hibernate中是否可行.我需要一些指针和你的观点来在我的项目中实现缓存.我正在使用hibernate注释.

java orm caching annotations hibernate

1
推荐指数
1
解决办法
315
查看次数

Hibernate v3.6:EntityManager方法问题"刷新"

以下代码在调用"em.refresh(p)"时抛出异常:

1: EntityManager em = emf.createEntityManager();
2: em.getTransaction().begin();
3:
4: Product p = new Product("J&D", 35.0,"Whisky");
5: em.persist(p);
6:
7: em.refresh(p);
8: em.getTransaction().commit();
9: em.close();
Run Code Online (Sandbox Code Playgroud)

在调试代码时,我们看到Hibernate没有在第6行将记录写入数据库.他的确如预见 - 当需要时,而不是更早.

在第7行,我们得到以下异常:线程"main"中的异常javax.persistence.PersistenceException:org.hibernate.HibernateException:此实例尚未作为数据库中的行存在

当我们强制Hibernate在第6行将记录刷新到DB时,执行INSERT并且不会发生错误.我们可以通过执行select或只强制刷新来执行此操作(具有所有后果):

6 : em.createQuery("select p from Product p").getResultList();
6 : em.flush();
Run Code Online (Sandbox Code Playgroud)

我的问题:如果方法"刷新"不强制Hibernate将记录写入数据库,那么我们之前放置的select或flush语句也是如此?(这可能是个错误吗?).

提前感谢您的回答.

皮埃尔

orm hibernate jpa entitymanager jpa-2.0

1
推荐指数
1
解决办法
2839
查看次数

java 1.6.013中的@WebServlet注释支持

我正特步进入Servlets和3.0的世界,我看到了一些示例和教程中使用的方法和注释,这些方法和注释在JAVA 6.0发布时已经讨论过(现在有),现在当我尝试使用上面的内容时注释,例如在Eclipse中它不识别它,虽然我安装了java 1.6.013,在Eclipse中它说我正在使用jre6.当我尝试使用谷歌搜索时,我偶然发现了这个页面上有关WebServlet Annotation的内容,它在右上角:DRAFT.那是什么意思?是否在1.6.013中支持@WebServlet?是我的Eclipse的问题?

非常感谢能帮助我的任何人

编辑:我现在明白我已经搞得一团糟了但是我已经下载了一个Jar的Servlets 3.0 API,至少对于@WebServlet注释有效,但是给了我一个地狱.

java eclipse annotations servlets java-ee-6

0
推荐指数
1
解决办法
6083
查看次数