小编Nic*_*cek的帖子

JSP文件无法在Spring Boot Web应用程序中呈现

我使用嵌入式Tomcat(默认)启动并运行Spring Boot Web应用程序.当它提供JSP文件作为渲染我在控制器中指定的视图的一部分时,JSP不会这样呈现,而是打印出内容.例如:

的index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
    <head></head>
    <body>Test</body>
</html>
Run Code Online (Sandbox Code Playgroud)

在浏览器中呈现视图时,将显示上面的内容,而不是预期的内容:

Test
Run Code Online (Sandbox Code Playgroud)

spring-boot

57
推荐指数
8
解决办法
7万
查看次数

在XPath中选择第一个结果

我看过这个问题:只用XPath选择第一个实例?

但如果我有这样的节点集:


<container value="">
  <data id="1"></data>
  <data id="2">test</data>
  <container>
    <data id="1">test</data>
    <data id="3">test</data>
  </container>
</container>
Run Code Online (Sandbox Code Playgroud)

现在我的场景是这个节点集在文档内部,我有一个指向内部容器的指针.所以我必须在XPath前加上"/ container/container"(路径实际上更长,但对于这个例子,这应该这样做).

编辑:我想要的是一个id为1的"数据"节点,它应该来自最低节点或最近的祖先.所以,如果我在"当前"(/容器/容器)上找不到它,我应该看看祖先并得到最近的一个(或者最后,找不到任何东西).我试过这个:

/容器/容器/祖先或自::容器/数据[@ ID = "1"]

这会带回两个节点的结果集.我以为我可以用last()来获得最深的那个,所以我最后加了解,但无济于事.

xpath

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

优化具有数亿行的表的查询

这感觉就像是"为我做我的功课"这样的问题,但我真的被困在这里试图使这个查询快速运行对很多行的表.这是一个显示架构的SQLFiddle(或多或少).

我已经使用了索引,试图获得一些能够显示所有必需列但却没有取得多大成功的东西.这是create:

CREATE TABLE `AuditEvent` (
    `auditEventId` bigint(20) NOT NULL AUTO_INCREMENT,
    `eventTime` datetime NOT NULL,
    `target1Id` int(11) DEFAULT NULL,
    `target1Name` varchar(100) DEFAULT NULL,
    `target2Id` int(11) DEFAULT NULL,
    `target2Name` varchar(100) DEFAULT NULL,
    `clientId` int(11) NOT NULL DEFAULT '1',
    `type` int(11) not null,
    PRIMARY KEY (`auditEventId`),
    KEY `Transactions` (`clientId`,`eventTime`,`target1Id`,`type`),
    KEY `TransactionsJoin` (`auditEventId`, `clientId`,`eventTime`,`target1Id`,`type`)
)
Run Code Online (Sandbox Code Playgroud)

和(的一个版本)select:

select ae.target1Id, ae.type, count(*)
from AuditEvent ae
where ae.clientId=4
    and (ae.eventTime between '2011-09-01 03:00:00' and '2012-09-30 23:57:00')
group by …
Run Code Online (Sandbox Code Playgroud)

mysql query-optimization

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

Jackson JSON映射键作为包含对象的属性

给定这样的结构:

{
  "nameOfObject": { "score": 100 },
  "anotherObject": { "score": 30 }
}
Run Code Online (Sandbox Code Playgroud)

是否可以将其映射到:

class Container {
  Map<String, ScoreKeeper> scoreKeepers;
}

class ScoreKeeper {
  String name;
  int score;
}
Run Code Online (Sandbox Code Playgroud)

那么你最终name得到的ScoreKeeper实例的属性分别设置为"nameOfObject""anotherObject"

java json jackson

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

在<script>标记位置插入元素

当网站为您提供一些JavaScript,您将其粘贴到网页中以在该位置插入内容时,脚本如何确定其在DOM中的当前位置?不使用document.write?

谢谢,

缺口

javascript embed

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

从CXF Interceptor确定目标服务/方法

我想为Apache CXF JAX-RS实现编写一个拦截器,它检查特定注释的目标服务/方法,并对该注释进行一些特殊处理.

我似乎无法在拦截器文档中找到描述如何执行此操作的任何内容.有没有人有任何想法?

谢谢!

java cxf

5
推荐指数
2
解决办法
6045
查看次数

Apache CXF:如何从拦截器返回失败响应

我编写了一个自定义拦截器来进行一些参数验证.我希望能够返回错误代码并将带有JAXB注释的类序列化为响应主体.

如果我抛出一个WebApplicationException,它没有任何特殊的处理来序列化里面的Response对象(这是有意义的;我认为这是由另一个拦截器完成的).

我应该如何停止拦截器链但仍然有JAXB序列化响应实体?

java cxf

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

Lift(Scala)嵌套代码段(每天多个项目)

尝试通过使用Lift框架开始使用Scala,我在创建我想象的代码时遇到了常见问题:我有一个日期列表,每天都有一个列表,列出当天的项目(嵌套列表) ).

我的想法是采取这种方法:

<div class="lift:DaySnippet">
    <h1 class="day">Name of Day</h1>
    <ul class="day-items">
        <!-- wanted to have a separate snippet but haven't made it work -->
        <!-- <li class="lift:DayItemSnippet">Item content</li> -->
        <li class="item">
            <span class="name">Name</span>
            <span class="desc">Description</span>
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

最初我不会有内部片段,但认为这是有道理的.

所以我可以像这样定义一个片段:

class DaySnippet {
    // Ignoring that this is a stupid way to define the data
    val days = ("Monday", ("Item 1", "Item 1 Description") :: Nil) ::
        ("Tuesday", ("Item 2", "Item 2 Description") ::
            ("Item 3", "Item 3 Description") :: …
Run Code Online (Sandbox Code Playgroud)

scala lift

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

泽西和过滤器异常处理

我有一个配置了Spring Security处理身份验证的Jersey应用程序.jersey-spring包提供了SpringServlet类,它在我的web.xml中作为servlet注册.

身份验证和所有工作按预期.我想知道的是如何通过Jersey servlet发送AuthenticationExceptions(以及其他过滤器异常),因此我可以使用我们的ExceptionMapper来处理它们.

最初SpringServlet被配置为过滤器,但在做了一些阅读之后,我开始明白servlet应该能够处理过滤器中抛出的异常(可能这是一个错误的理解).在将其更改为servlet后,我没有注意到行为的任何变化,如果我追踪Spring Security代码,我可以看到HttpServletResponse的编写位置.

我的问题:是否有可能让Jersey servlet进程抛出Spring Security过滤器引发的异常?

servlets jax-rs jersey java-ee servlet-filters

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

JpaRepository,@ Transaction和repository.saveAndFlush

我正在服务/存储库方法的第一次破解,并遇到了一个问题.基本上我想在我的服务中做的是保持我的实体,然后在同一个Service方法中使用它的ID.

最初我打算使用@GeneratedValue和Sequences,但放弃并决定手动刷新实体并获取ID,我认为这会更容易.

My Repository是一个使用Spring Data的接口,因此它支持手动刷新.据我了解,它也用@Transactional注释.我的服务方法也使用@Transactional注释.

我发现实体仅在返回Service方法时持久化,即使我在保存实体后立即刷新(或使用saveAndFlush).我认为冲洗会迫使数据库发生变化吗?

java spring-data-jpa

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