我有 i18n,但遇到俄语字母问题。我有问号?????而不是文字。配置:
@Bean
public LocaleResolver localeResolver(){
CookieLocaleResolver resolver = new CookieLocaleResolver();
resolver.setDefaultLocale(new Locale("ru"));
resolver.setCookieName("locale");
resolver.setCookieMaxAge(60 * 60 * 24 * 365 * 10);
return resolver;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor changeInterceptor = new LocaleChangeInterceptor();
changeInterceptor.setParamName("lang");
return changeInterceptor;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/i18n/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
Run Code Online (Sandbox Code Playgroud)
我也在用百里香。
<h1 th:text="#{message}"></h1>
Run Code Online (Sandbox Code Playgroud) 我需要创建一个动态查询.我尝试使用JPQL,但不能.例如:
public List get(String category, String name, Integer priceMin, Integer priceMax){
List<Prod> list;
String query = "select p from Prod p where 1<2 ";
String queryCat="";
String queryName="";
String queryPriceMin="";
String queryPriceMax="";
String and = " and ";
if (!category.isEmpty()){
query+=and+"p.cat.name=:category ";
}
if (!name.isEmpty()){
query+=and+"p.name=:name ";
}
if (priceMin!=null){
query+=and+"p.price>=:priceMin ";
}
if (priceMax!=null){
query+=and+"p.price<=:priceMax ";
}
return list = entityManager.createQuery(query)
.setParameter("category", category)
.setParameter("name",name)
.setParameter("priceMin", priceMin)
.setParameter("priceMax", priceMax)
.getResultList();
}
Run Code Online (Sandbox Code Playgroud)
如果有所有参数,查询运行,但如果没有这样的参数category我有异常java.lang.IllegalArgumentException: Parameter with that name [category] …
我需要通过 ajax 将数据发送到 Spring MVC 控制器。但是如果我发送多个参数,控制器就不起作用。
控制器方法:
@Timed
@RequestMapping(value = "saveee", method = RequestMethod.POST)
@ResponseBody
public JsonResultBean saveTicketTemplate(@RequestBody TicketTemplateFieldBean fieldBean, Long id) throws IOException {
//TODO smth
return JsonResultBean.success();
}
Run Code Online (Sandbox Code Playgroud)
有了这个 ajax 代码,一切都完美无缺:
$.ajax({
type: 'POST',
dataType: 'json',
contentType: 'application/json',
url: '/organizer/api/saveee',
data: JSON.stringify(fieldBean.data),
success: function(result) {
//TODO
}
})
Run Code Online (Sandbox Code Playgroud)
但是如果我更改数据参数,那么控制器甚至不会收到请求。
data: ({'fieldBean': JSON.stringify(fieldBean.data), 'id': id})
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我需要在我的xsd架构中创建if/else条件.特别是模式节点.我怎么能这样做?
<s:complexType name="parent">
<s:sequence>
<s:element name="elem1" type="s:string"/>
<s:element name="elem2">
<s:simpleType>
<s:restriction base="s:string">
<s:pattern value="if (elem1 == 3) //todo
else //todo"/>
</s:restriction>
</s:simpleType>
</s:element>
</s:sequence>
</s:complexType name="parent">
Run Code Online (Sandbox Code Playgroud) 我对我的实体有一个投影,我需要按内部类的字段对它进行排序.这是我的实体的一部分:
class Person {
UUID guid;
Set<DisabilityHistory> disabilityHistory;
}
class DisabilityHistory {
Date createdDate;
}
Run Code Online (Sandbox Code Playgroud)
我知道sortparam但是请求就像api/person/search?projection=myProjection&sort=disabilityHistory.createdDate,asc不起作用.我发现的唯一解决方案是@OrderBy在我的实体中使用注释,但在这种情况下,它将始终排序,我担心性能.
java ×4
spring ×2
ajax ×1
jpa ×1
jpql ×1
json ×1
localization ×1
projection ×1
schema ×1
spring-mvc ×1
xml ×1
xsd ×1