小编sar*_*gue的帖子

如何使用JSF 2 h实现"CSS版本化"(解决缓存问题):outputStylesheet?

我开始使用JSF 2,所以我想试试h:outputStylesheet.它运行正常,但后来我尝试应用"模式"或将查询字符串添加到请求的技巧,该请求随文件版本而变化,以强制浏览器获取更改.

这里使用的东西.

不幸的是我无法做到这一点.实际上,当使用该标记时,它不会生成一个简单的URL,而是一个已经有查询字符串的计算URL.我已经在规范和这里找到了有关JSF 2中资源版本化的一些信息,但它似乎指的是资源的多个版本,这不是我需要的.

当然,我总是可以回去不使用新标签.但我想在此分享一下以供讨论.

更新1 - 一些例子:

我试过的是这样的:

<h:outputStylesheet library="css" name="estilo.css?v=1" target="head"/>
Run Code Online (Sandbox Code Playgroud)

其呈现为:

<link type="text/css" rel="stylesheet" href="RES_NOT_FOUND" />
Run Code Online (Sandbox Code Playgroud)

相当具有描述性.;-)

我试图得到的是这样的:

<link rel="stylesheet" type="text/css" href="../css/estilo.css?v=1"/>
Run Code Online (Sandbox Code Playgroud)

其中,使用JSP,我曾经这样说过:

<link rel="stylesheet" type="text/css"
 href="<c:url value='/css/estilo.css?v=${initParam.version}'/>"/>
Run Code Online (Sandbox Code Playgroud)

css java versioning java-ee-6 jsf-2

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

如何使用jOOQ获取事务中的底层连接?

我在现有项目中使用jOOQ,它也使用一些自定义JDBC代码.在jOOQ事务中,我需要调用其他一些JDBC代码,我需要通过活动连接,以便所有内容都进入同一个事务.

我不知道如何在jOOQ事务中检索底层连接.

create.transaction(configuration -> {
    DSLContext ctx = DSL.using(configuration);

    // standard jOOQ code
    ctx.insertInto(...);

    // now I need a Connection
    Connection c = ctx.activeConnection(); // not real, this is what I need
    someOtherCode(c, ...);
});
Run Code Online (Sandbox Code Playgroud)

阅读文档并在源代码上略微窥视我最好的选择是:

configuration.connectionProvider().acquire()
Run Code Online (Sandbox Code Playgroud)

但这个名称在这个特定的用例中有点误导.我不想要一个新的连接,只需要当前的连接.我认为这是要走的路,因为配置是派生的,我将始终得到相同的连接,但我不确定,我在文档中找不到答案.

java transactions jdbc jooq java-8

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

如何检查证书是否在默认 cacerts 中

客户为我提供了一个用于服务调用的 HTTPS URL。我需要向该 URL 发出请求。我知道,如果该 URL 的证书来自公共提供商,则它可能已经在默认的 java truststore cacerts上可用。

但是我不确定如何检查是否需要导入证书。如何检查来自网站的证书是否已经在默认的 java truststore \jre1.8\lib\security\cacerts 中?

java ssl

8
推荐指数
3
解决办法
4万
查看次数

如何使用jOOQ创建SELECT EXISTS(子查询)?

我想用jOOQ构建和执行这样的查询.

SELECT EXISTS( subquery )
Run Code Online (Sandbox Code Playgroud)

举个例子:

SELECT EXISTS(SELECT 1 FROM icona_etiqueta WHERE pvp IS NULL AND unitat_venda = 'GRAMS')
Run Code Online (Sandbox Code Playgroud)

我该怎么做?可以吗?

sql mariadb jooq

7
推荐指数
2
解决办法
3357
查看次数

将来自 REST Assured 测试的请求和响应详细信息添加到 Surefire 报告

Rest Assured允许编写 R​​EST 端点的测试。它具有的有用功能之一是能够在测试失败的情况下记录请求和响应,以便您可以检查发送到 REST 服务的内容。

请求示例

记录请求和响应的失败测试示例

import io.restassured.RestAssured;
import org.junit.Before;
import org.junit.Test;

import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;

public class TestRestAssured {
  @Before
  public void setUp() {
    RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
  }

  @Test
  public void exampleFailingTest() {
    String json = "{\n" +
        "  \"title\": \"foo\",\n" +
        "  \"body\": \"bar\",\n" +
        "  \"userId\": 1\n" +
        "}";
    given()
        .contentType("application/json; charset=UTF-8")
        .body(json)
        .post("http://jsonplaceholder.typicode.com/posts")
        .then()
        .body("userId", equalTo(2));
  }
}
Run Code Online (Sandbox Code Playgroud)

此测试失败,因为返回userId值为 1。这是执行测试时在控制台上打印的内容。

import io.restassured.RestAssured;
import org.junit.Before;
import org.junit.Test;

import static io.restassured.RestAssured.*; …
Run Code Online (Sandbox Code Playgroud)

java junit maven maven-surefire-plugin rest-assured

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