小编Akh*_*hil的帖子

javax.faces.FacesException:无法解析NavigationCase的结果

我在/template/template.xhtml上有一个template.xhtml文件

<h:head>

</h:head>

<h:body>
    <p:layout fullPage="true">
        <p:layoutUnit position="north" size="100">
            <h:outputText value="header"></h:outputText>
        </p:layoutUnit>
        <p:layoutUnit position="center">
            <p:layout>
                <p:layoutUnit position="north">
                    <h:outputText value="tabs"/>
                    <ui:include src="/tabs/tabs.xhtml"/>
                </p:layoutUnit>
                <p:layoutUnit position="west">
                    <h:outputText value="left menu"></h:outputText>
                </p:layoutUnit>
                <p:layoutUnit position="center">
                    <h:outputText value="main-content"></h:outputText>
                </p:layoutUnit>
            </p:layout>
        </p:layoutUnit>
        <p:layoutUnit position="south" size="100">
            <h:outputText value="footer"></h:outputText>
        </p:layoutUnit>
    </p:layout>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

我在/tabs/tabs.xhtml上有tabs.xhtml文件

 <h:head>

</h:head>


<p:tabMenu activeIndex="#{param.i}">
    <p:menuitem value="Overview" outcome="index">
        <f:param name="i" value="0" />
    </p:menuitem>
    <p:menuitem value="Demos" outcome="index">
        <f:param name="i" value="1" />
    </p:menuitem>
    <p:menuitem value="Documentation" outcome="index">
        <f:param name="i" value="2" />
    </p:menuitem>
    <p:menuitem value="Support" outcome="index">
        <f:param name="i" value="3" /> …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2 weblogic-10.x

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

Primefaces BlockUI无法正常工作

我在用户点击菜单时更新我的​​数据表.所以我想显示一些加载图像,而ajax获取数据并更新我的数据表.我为此目的使用p:blockUI.我的菜单是:

<h:form id="leftMenu">    
    <p:menu id="privilegeItem">        
        <p:menuitem id="objectItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('object')}" 
                    value="Object Signing Services" 
                    update=":signMethodForm:signMethodTable"/>
        <p:menuitem id="mobileItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('mobile')}" 
                    value="Mobile Signing Services" 
                    update=":signMethodForm:signMethodTable"/>
        <p:menuitem id="macItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('mac')}" 
                    value="Mac Signing Services" 
                    update=":signMethodForm:signMethodTable"/>     
        <p:menuitem id="solarisItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('solaris')}" 
                    value="solaris Signing Services" 
                    update=":signMethodForm:signMethodTable"/>  
    </p:menu>
</h:form>
Run Code Online (Sandbox Code Playgroud)

我的数据表是这样的:

<h:form prependId="false" id="signMethodForm"> 
    <p:dataTable id="signMethodTable" 
                 value="#{selectSignMethodView.signMethodList}" 
                 var="signMethods">
        <p:column>
            <h:outputText value="${signMethods.name}"/>
        </p:column>
        <p:column>
            <h:outputText value="#{signMethods.fileTypes}" />
        </p:column>
        <p:column>
            <h:outputText value="#{signMethods.servers}"/>
        </p:column>
    </p:dataTable>
    <p:blockUI trigger=":leftMenu:privilegeItem" block="signMethodTable">
        LOADING<br />
        <p:graphicImage library="images" name="ajax-loader.gif"/>
    </p:blockUI>
</h:form>
Run Code Online (Sandbox Code Playgroud)

但是blockUI没有阻止我的数据表.我的触发器属性有问题.

jsf primefaces jsf-2

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

Tomcat连接池:几种不释放连接的方法

我正在使用tomcat连接池.但我跟随例外 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object

所以我在context.xml中输入以下行来查找泄漏: removeAbandoned="true" logAbandoned="true" removeAbandonedTimeout="3"

然后我开始得到以下异常org.apache.tomcat.dbcp.dbcp.AbandonedTrace$AbandonedObjectException: DBCP object created 2015-01-17 22:12:18 by the following code was never closed: 因此我发现导致这种泄漏的两个罪魁祸首方法.这两种方法有通用的连接方式,即调用unwrap来访问驱动程序特定的连接.

try (Connection conn = DataSourceConnectionPool.getConnection().unwrap(OracleConnection.class);
        OracleCallableStatement cstmt = (OracleCallableStatement) conn.prepareCall(MIGRATE_ACCOUNT)) {
        ...
        ....
)
Run Code Online (Sandbox Code Playgroud)

重要的是要注意的是我正在使用来自JDK7的try块,即自动资源管理,所以我不需要finally块.连接关闭由JDK自动处理.但为什么这个解开的连接没有关闭.当我试图做以下事情时:

try (Connection poolConn = DataSourceConnectionPool.getConnection();
    Connection conn = poolConn.unwrap(OracleConnection.class);
Run Code Online (Sandbox Code Playgroud)

我越来越java.sql.SQLException: Already closed.接近这种联系了.我是否必须手动完成而不使用try块?不应该尝试块手柄能够处理这个吗?

java tomcat connection-pooling jdbc

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

如何从servlet向客户端发送状态?

我的客户端将文件上传到我的Web应用程序,在该应用程序中处理文件并将文件返回给客户端.我的客户端是用java编写的,服务器端应用程序也是用servlet编写的.我的问题是在处理时出现一些错误,如何从服务器向客户端发送错误.因此客户端不会下载文件,而只是通过打印错误退出.我不知道这个消息与客户沟通的标准方式是什么.我目前正在做的是使用response.setHeader:

response.setHeader("codesign-status", "0");
response.setHeader("codesign-msg", "File available for download ");
Run Code Online (Sandbox Code Playgroud)

我正在客户端连接上读取这些标头以检查错误.这是与客户沟通消息的标准方式吗?

java servlets

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