出于调试目的,我想列出我的百万美元模板在渲染时可用的所有模型属性.
就像是:
<table>
<tr th:each="model : ${*}">
<td th:text="${model}"></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
但显然这是无稽之谈,我得到了一个当之无愧的错误.(org.springframework.expression.spel.SpelParseException: EL1070E:(pos 0): Problem parsing left operand)
有没有办法输出这样的调试信息?即使是一些日志输出,我也会满意.
或者,Thymeleaf是否提供类似于Struts 2的内容struts.devMode,它在页面底部添加了一个列出所有可用属性的调试部分?
我想为所有自动装箱和拆箱产生警告.
有没有人找到有效的方法?
Eclipse捕获基本的自动装箱错误:例如.Integer i = null; i++.但是在任何复杂的事情上失败,并不是我真正想要的.
我看过PMD和Checkstyle,但在那里找不到任何东西.
我知道这是一个有争议的话题,但我认为这是一个危险的特征.没有办法禁用它,所以我至少想在代码审查期间检查报告.
我NullPointerException在代码审查和错误中经常看到这一点:
class X {
Integer i = null;
public int doSomething() {
return i + 2;
}
}
Run Code Online (Sandbox Code Playgroud)
我想阻止它走得那么远.
似乎有两种不同的模式:
模式#1
的GenericFilterBean不认证本身.由于所使用的大多数出的现成的过滤器:UsernamePasswordAuthenticationFilter,DigestAuthenticationFilter,等.
Authentication与authenticated=false
AuthenticationProvider(有时通过AuthenticationManager)
Authentication并传回过滤器
在这种模式中,原始Authentication只是一个传递给AuthenticationProvider它的POJO - 它永远不会进入上下文.
此外,过滤器通常也会直接引用特定的内容EntryPoint- 最后调用它.
(我认为这种模式适合预身份验证过滤器?但Spring代码中没有那种一致性).
模式#2
单独注册AuthenticationProviders进行身份验证.正如大多数在线示例所使用的那样,但在开箱即用的过滤器中很少见到.
Authentication与authenticated=false
AuthenticationProviders
Authentication并尝试验证它
Authentication为 authenticated=true
在这种模式中,过滤器不直接调用AuthenticationProvider,或者EntryPoint.这些是在外部注册的,适用于所有过滤器.模式#2配置的典型示例:
<sec:http use-expressions="true" entry-point-ref="myCustomEntryPoint" pattern="/**">
<sec:custom-filter before="FILTER_SECURITY_INTERCEPTOR" ref="myCustomFilter" />
...
</sec:http>
<sec:authentication-manager>
<sec:authentication-provider ref="myCustomAuthenticationProvider" />
</sec:authentication-manager>
Run Code Online (Sandbox Code Playgroud)
问题: …
我已经在SWT中开发了一个Java应用程序,该应用程序应在作为信息亭运行的Windows系统上运行。该应用程序应该是系统中唯一运行的应用程序,并且应该在系统启动后立即打开。应该禁用任务管理器,Windows开始菜单,热键等所有功能(例如,请参见http://www.codeproject.com/Articles/7392/Lock-Windows-Desktop)。该应用程序还具有一个内置的管理员用户,该用户可以再次激活所有事情,从而有可能在系统中进行更改。这些事情已经实现。问题在于,当Windows启动时,它会持续几秒钟,直到应用程序打开为止,在此短时间内,用户会看到所有内容(直到应用程序启动,所有内容都无法禁用)。我已经搜索了互联网,唯一的解决方案似乎是替换注册表中的标准Windows Shell。现在出现了问题:
没有人知道如何编写一个用于Windows外壳是
还是您有其他想法来实现这一目标?
谢谢
我正在写一个 Dao 来获取所有Messages与Person. 但我找不到正确的 JPQL 语法。
在我的模型中:
Person有多个Roles(我将它们作为参数传递到查询中:枚举值集)。Message与多个Roles.所以我想找到与一个人相关的所有消息:
SELECT m FROM Message m
WHERE m.roles [contains one of] :userRoles
Run Code Online (Sandbox Code Playgroud)
将其:userRoles作为Set<Role>参数。
缺少的 [包含其中之一] 部分的正确语法是什么?
我看IN和MEMBER OF
如
SELECT m FROM MESSAGE m
WHERE m.roles IN :userRoles
Run Code Online (Sandbox Code Playgroud)
但是这两个关键字都需要一侧有一个项目。我有多个上的项目两个方面。
更多详情:
@Entity
@Table(name = "message")
public class Message {
@Id
private Long id;
@ElementCollection
@Enumerated(javax.persistence.EnumType.STRING)
@JoinTable(name="message_roles",
joinColumns={@javax.persistence.JoinColumn(name="message_id")}) …Run Code Online (Sandbox Code Playgroud)