我的主要课程是
public class UserAddressesForm {
@NotEmpty
private String firstName;
@NotEmpty
private String lastName;
private List<AddressForm> addresses;
...
setters and getters
public class AddressForm {
@NotEmpty
private String customName;
@NotEmpty
private String city;
@NotEmpty
private String streetAn;
@NotEmpty
private String streetHn;
@NotEmpty
private String addressCountry;
@NotEmpty
private String postCode;
...
setters and getters
Run Code Online (Sandbox Code Playgroud)
控制器
@RequestMapping(value = "/up", method = RequestMethod.POST)
public String completeForm(@Valid @ModelAttribute("userAddressesForm") UserAddressesForm userAddressesForm,
BindingResult result, HttpServletRequest req)
...
Run Code Online (Sandbox Code Playgroud)
一个JSP页面
<form:form commandName="userAddressesForm" action="registered">
<table>
<tr>
<td class="formLabels"><form:label path="firstName">
<spring:message …Run Code Online (Sandbox Code Playgroud) JSR的相关性是什么?如何优化它以供一个人使用?
我读过像蓝牙的jsr82和其他技术应用程序的其他东西.
它的相关性是什么?
是否可以验证JSR 303中的对象集合 - Jave Bean Validation,其中集合本身没有任何注释,但包含的元素是什么?
例如,由于第二个人的名称为空,是否可能导致约束违规:
List<Person> people = new ArrayList<Person>();
people.add(new Person("dave"));
people.add(new Person(null));
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<List<Person>>> validation = validator.validate(people);
Run Code Online (Sandbox Code Playgroud) 我已经google了很多,仍然感到困惑的是上面的每一个究竟是什么意思.
以下是我对它的理解:
我下载了每个jar并尝试反编译并查看其中的内容,但我只能在所有这些中找到接口而不是实现.
我在maven shade插件生成的重复警告的上下文中面临这些问题,并且需要正确理解上面的内容以找出要排除的内容和原因.
JLS - Java语言规范 - https://docs.oracle.com/javase/specs/jls/se9/html/index.html
JSR - Java规范请求 - https://jcp.org/aboutJava/communityprocess/final/jsr376/index.html(模块系统)正式文档,描述了用于添加到Java平台的建议规范和技术.
JEP - JDK增强提案- http://openjdk.java.net/jeps/0,http://openjdk.java.net/jeps/261(模块系统)
这三者有什么区别?
这是一个非常特殊的问题,我不确定stackoverflow是否是正确的平台,但我还是试着...
我目前正在编写JSR-80(javax.usb)的实现,并且发现有一个Test Compliance Kit可用.但该测试合规套件需要特殊硬件:"赛普拉斯EZ-USB FX集成电路Xcelerator开发套件CY3671".TCK包含该控制器的固件映像.
问题是:我无法在任何地方找到这个开发板.我只找到以800美元出售它的不起眼的商店.作为一名开源开发人员,我负担不起.现在的问题是:是否有一些兼容的替代方案?赛普拉斯的继任者可能与固件兼容,更有可能在ebay上找到?我在ebay上找到了一个"EZ-USB FX2板",价格实惠(50美元),但我不知道它是否兼容.
Eclipse的Project Explorer视图中有一个名为"JSR-109 Web Services"的项目,该项目无法删除或删除.
我没有创建这个项目.它自动来到Projects Explorer.
如何从Project Explorer中删除此"JSR-109 Web服务"?
我试图了解Java中的一些概念:
我是完全不喜欢的吗?
当我在 javax.validations 中使用 @valid 注释验证 bean 时,对于某些对象,我收到 ConstraintViolationException,而对于某些对象,我收到 MethodArgumentNotValidException。
我明白,如果我在 controller 处验证 @ResponseBody 中的任何内容,它会抛出 MethodArgumentNotValidException。
但是对于类级别的某些自定义验证(例如@MyCustomValidation),即使在@ResponseValidation 中对其进行验证,它也会抛出ConstraintViolationException。
对于不同 REST 端点的其他一些自定义验证,它会抛出 MethodArgumentNotValidException。
我发现它有点难以理解,因为它是一种行为。
@PostMapping(path = "/someEndPoint")
@Validated(OnASave.class)
public ResponseEntity<ClassA> saveObjA(@Valid @RequestBody ClassA objA)
Run Code Online (Sandbox Code Playgroud)
结果 - 抛出 MethodArgumentNotValidException
@PostMapping(path = "/someOtherEndPoint")
@Validated(OnBSave.class)
public ResponseEntity<ClassB> saveObjB(@Valid @RequestBody ClassB objB)
Run Code Online (Sandbox Code Playgroud)
结果 - 抛出 ConstraintViolationException
ClassA 和 ClassB 都有自定义验证。