我已经阅读了spring doc和PetClinic示例项目.就像看到一些用Spring完成的更大的现实世界项目.谢谢.
鉴于以下列表:
List<String> list = new ArrayList<String>();
list.add("s1");
list.add("s2");
list.add(null);
list.add("s3");
list.add(null);
list.add("s4");
Run Code Online (Sandbox Code Playgroud)
我需要一个删除空引用的辅助类.就像是:
SomeHelper.removeNullReference(名单);
这样列表只包含"s1","s2","s4","s4"(非空引用).
我应该用什么来满足这个要求?
请参阅以下课程
public class Parent {
private String name;
private int age;
private Date birthDate;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
假设我已经创建了一个父对象,如下所示
Parent parent = new Parent();
parent.setName("A meaningful name");
parent.setAge(20);
Run Code Online (Sandbox Code Playgroud)
请注意,根据上面的代码,birthDate属性为null.现在我想从父对象复制到另一个非空属性.就像是
SomeHelper.copyNonNullProperties(parent, anotherParent);
Run Code Online (Sandbox Code Playgroud)
我需要它,因为我想更新anotherParent对象而不用空值覆盖其非null.
你知道这样的帮手吗?
我接受最少的代码作为答案是否没有帮助
问候,
在看到许多关于编程语言的隐藏特性之后,我想知道Spring"事实上"框架的隐藏特性.如您所知,Spring文档隐藏了许多功能,并且很乐意分享它.
而你:你知道Spring框架的哪些隐藏功能?
我有一个生成id的表,但在某些情况下我想自己设置它.我可以以某种方式强制Hibernate忽略@GeneratedValue吗?
Scala语言要求您在使用之前初始化实例变量.但是,Scala不为您的变量提供默认值.相反,您必须使用通配符下划线手动设置其值,该下划线的作用类似于默认值,如下所示
var name:String = _
Run Code Online (Sandbox Code Playgroud)
我知道,我知道......我可以在类定义中定义一个构造函数,它将实例变量作为参数,因此Scala不会强制其初始化,如下所示
class Person(var name:String)
Run Code Online (Sandbox Code Playgroud)
但是,我需要在体内声明它,因为我需要使用其元素为FIELD或METHOD的Java注释; 也就是说,它只能应用于在我们类的主体中声明的实例变量或方法.
问题:为什么Scala语言要求您初始化一个实例变量 - 无论是默认值_还是您想要的任何内容 - 在类的主体中声明而不是依赖于默认值?
我根据以下内容在MANY Spring-MVC控制器中使用以下自定义编辑器:
一个控制器
binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));
Run Code Online (Sandbox Code Playgroud)
其他控制器
binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));
Run Code Online (Sandbox Code Playgroud)
另一个控制器
binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));
Run Code Online (Sandbox Code Playgroud)
注意注册了相同的自定义编辑器
问题:如何设置像这样的全局自定义编辑器以避免设置每个控制器?
问候,
在.jsp中我会使用:
<fmt:message key="welcome.title"/>
Run Code Online (Sandbox Code Playgroud)
从我的messages.properties文件中显示一条消息.
我如何用freemarker做到这一点?
Seu以下映射
@Entity
public class User {
private Integer id;
@Id;
private Integer getId() {
return this.id;
}
}
Run Code Online (Sandbox Code Playgroud)
注意id是一个Integer.现在我需要使用like运算符来进行这个HQL查询
Query query = sessionFactory.getCurrentSession().createQuery("from User u where u.id like :userId");
Run Code Online (Sandbox Code Playgroud)
ATT:它就像运营商NOT =(等于运营商)
然后我用
List<User> userList = query.setParameter("userId", userId + "%").list();
Run Code Online (Sandbox Code Playgroud)
但是没有用,因为Hibernate抱怨IllegalArgumentException发生了调用User.id的getter
即使我使用
query.setString("userId", userId + "%");
Run Code Online (Sandbox Code Playgroud)
这是行不通的
我应该用什么来传递查询?
我有一个Web应用程序(UTF-8),其中可以使用以下一个发送到服务器端
áéíóú
àèìòù
ÀÈÌÒÙ
ÁÉÍÓÚ
Run Code Online (Sandbox Code Playgroud)
好.我使用类似如下的内容来发送数据
// Notice $("#myForm").serialize()
$.get("/path?", $("#myForm").serialize(), function(response) {
});
Run Code Online (Sandbox Code Playgroud)
当我看到我的recordSet时,我得到(数据库charSet编码为UTF-8)
áéÃóú
à èìòù
ÃÉÃÓÚ
ÀÈÌÒÙ
Run Code Online (Sandbox Code Playgroud)
即使使用$ .post,我也会获得相同的结果集
在Action Book中看到JQuery中的serialize()方法之后:
从包装集中的所有成功表单元素创建格式正确且编码的查询字符串
但是,如上所示,它似乎没有正常工作.因此,我使用而不是serialize()方法
var objectArray = $("#myForm").serializeArray();
var queryString = "";
for(var i = 0; i < objectArray.length; i++) {
queryString += "&" + objectArray[i]["name"] + "=" + objectArray[i]["value"];
}
$.get("/path?" + queryString, null, function(response) {
});
Run Code Online (Sandbox Code Playgroud)
现在我进入数据库
áéíóú
àèìòù
ÀÈÌÒÙ
ÁÉÍÓÚ
Run Code Online (Sandbox Code Playgroud)
所以我在使用serialize()方法时错过了什么?为什么serialize()方法不能按预期工作?
java ×5
spring ×4
spring-mvc ×3
hibernate ×2
ajax ×1
collections ×1
data-binding ×1
freemarker ×1
helper ×1
hql ×1
jpa ×1
jquery ×1
open-source ×1
scala ×1
sql-like ×1