我找不到合适的正则表达式来匹配任何不以某些条件结尾的字符串.例如,我不想匹配以a.结尾的任何内容.
这匹配
b
ab
1
Run Code Online (Sandbox Code Playgroud)
这不匹配
a
ba
Run Code Online (Sandbox Code Playgroud)
我知道正则表达式应该$以标记结尾来结束,尽管我不知道应该在它之前做什么.
编辑:原始问题似乎不是我的案例的合法例子.那么:如何处理多个角色?说什么没有结束ab?
我已经能够解决这个问题,使用这个线程:
.*(?:(?!ab).).$
Run Code Online (Sandbox Code Playgroud)
虽然这样做的缺点是,它与一个字符的字符串不匹配.
我正在使用JPA 2.出于安全原因,我正在使用CriteriaQuery进行类型安全(因此,我不会搜索任何类型查询的解决方案等).
我最近遇到了一个需要设置SQL-LIMIT的问题.
经过大量的搜索,我仍然没有成功找到解决方案.
CriteriaQuery<Product> query = getEntityManager().getCriteriaBuilder().createQuery(Product.class);
Root<Product> product = query.from(Product.class);
query.select(product);
return em.createQuery(query).getResultList();
Run Code Online (Sandbox Code Playgroud)
谁能帮我?
我有一个Admin扩展的对象User.默认情况下,两个对象都在User_我的Derby数据库的表中(包含的字段Admin).通常我会选择User这样的:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<User> query = cb.createQuery(User.class);
Root user= query.from(User.class);
Predicate predicateId = cb.equal(category.get("id"), id);
query.select(user).where(predicateId);
return em.createQuery(query).getSingleResult();
Run Code Online (Sandbox Code Playgroud)
但是由于我的查询的复杂性,我正在使用这样的本机查询:
Query query = em.createNativeQuery("SELECT USER.* FROM USER_ AS USER WHERE ID = ?");
query.setParameter(1, id);
return (User) query.getSingleResult();
Run Code Online (Sandbox Code Playgroud)
虽然这会抛出一个强制转换异常.我认为这是由于任何领域Admin.
我的问题是,如何选择User使用具有相同结果的本机查询作为第一个示例(包括与JPQL查询将返回的@LOB和@ManyToOne(等等)相同的值)?
我不确定我在JSF中使用MVC环境的方法是否是最好的方法.由于我想要充分利用JSF,我想知道我的服务层(或模型,用MVC术语说)应该如何"设计".
我知道视图 - 控制器比率应该是1比1(排除例外情况).现在我应该以什么方式设计我的服务层?我应该使用一项大型服务(不这么认为)吗?如果没有,根据我应该分割我的服务?
注意,我的服务将从Beans(控制器以MVC术语)调用,服务本身将在必要时使用JPA调用DAO.
提前致谢
我不需要整个故事来澄清我的问题,所以我只是展示代码(这只是一个例子).为什么我的结果有所不同?
码
long millis = 2305293L;
System.out.println(
millis + "ms = " +
(millis / 1000) + "s = " +
(millis / 1000 / 60) + "m");
System.out.println(
new SimpleDateFormat("HH:mm:ss").
format(
new Date(millis)
)
);
Run Code Online (Sandbox Code Playgroud)
产量
2305293ms = 2305s = 38m
01:38:25
Run Code Online (Sandbox Code Playgroud) Searchable.java
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Searchable { }
Run Code Online (Sandbox Code Playgroud)
Obj.java
public class Obj {
@Searchable
String myField;
}
Run Code Online (Sandbox Code Playgroud)
void main(String [] args)
Annotation[] annotations = Obj.class.getDeclaredField("myField").getAnnotations();
Run Code Online (Sandbox Code Playgroud)
我希望annotations能包含我的@Searchable.虽然是null.根据文档,这种方法:
返回此元素上的所有注释.(如果此元素没有注释,则返回长度为零的数组.)此方法的调用者可以自由修改返回的数组; 它对返回给其他调用者的数组没有影响.
这更奇怪(对我来说),因为它返回null而不是Annotation[0].
我在这里做错了什么,更重要的是,我怎么能得到我的Annotation?
ViewExpiredException当会话过期时,JSF应用程序可以抛出s.在您的系统上安排访客时,此事件将非常常见.因此,应用程序将毫不费力地处理此事件,如下所示:
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/expired</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
当访客尝试在过期的会话上发送请求时,他将被重定向到/expired.由于我不认为这Exception是一个值得一提的问题,我想阻止将堆栈跟踪写入我的applicationserver的日志中.
我怎么能做到这一点?
因为我正在使用TinyMCE(请不要进入"Primefaces有一个编辑器"或类似的东西)我需要Javascript在每次Ajax调用之前和之后执行一小部分.我不希望为此编辑每个Ajax调用,因为有很多(并且这样做对于任何将来的维护都是不好的做法).
什么是在页面上执行Javascript任何Ajax调用之前和之后最优雅的解决方案?
注:我使用的是定制composite的TinyMCE-textarea.任何事件也都是这个对象也足够了.虽然请记住,实际的Ajax-trigger可能会由一个完全不同的对象调用(尽管可能会重新渲染composite).
我正在为我的RESTful Web服务创建一个客户端.在这种情况下,我的服务器不会总是返回预期的对象(例如,在给定参数上找不到任何内容,因此返回为NULL).
@GET
@Path("/person/{name}")
@Produces("application/xml")
public Person getPerson(@PathParam("name") String name) {
return people.byName(name);
}
Run Code Online (Sandbox Code Playgroud)
如果找不到给定的名称,byName()方法将返回NULL.在解组给定对象时,这将引发异常.什么是最常见和最简洁的方法来导致if/else语句或以不同方式处理返回的东西?
JAXBContext jcUnmarshaller = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = jcUnmarshaller.createUnmarshaller();
return (Person) unmarshaller.unmarshal(connection.getInputStream());
Run Code Online (Sandbox Code Playgroud)
解
getPerson( ) throws WebApplicationException {
throw new WebApplicationException(404);
}
Run Code Online (Sandbox Code Playgroud) 首先,在处理我的问题之前,我将向您介绍我的测试用例.我的基本Maven Web应用程序中有一些组件:
我将分享重要组件的代码.
漂亮-config.xml中
<url-mapping id="page">
<pattern value="/page" />
<view-id value="/page.xhtml" />
</url-mapping>
Run Code Online (Sandbox Code Playgroud)
FirstFilter.java
@WebFilter
public class FirstFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("FirstFilter, request: " +
((HttpServletRequest)request).getRequestURL().toString());
chain.doFilter(request, response);
System.out.println("FirstFilter, response");
}
// override init and destroy
}
Run Code Online (Sandbox Code Playgroud)
ThirdFilter.java
@WebFilter
public class ThirdFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("ThirdFilter, …Run Code Online (Sandbox Code Playgroud) java ×9
jsf ×4
jpa ×2
sql ×2
ajax ×1
chaining ×1
date ×1
date-format ×1
glassfish-3 ×1
jpql ×1
jsf-2 ×1
limit ×1
persistence ×1
prettyfaces ×1
reflection ×1
regex ×1
rest ×1
tinymce ×1