@Controller
public class SearchCommentController {
...................
@RequestMapping(method = RequestMethod.POST)
public String displayCommentAlert(@Validated FormParams params, BindingResult bindingResult, Model model) {
if (bindingResult.hasErrors() == false) {
List<CommentWithPeopleDetail> foundComments = commentDao.find(params);
model.addAttribute("foundComments", foundComments);
}
return "commentAlert";
}
...................
}
public class SearchCommentParamValidator implements Validator {
@Override
public boolean supports(Class<?> clazz) {
return FormParams.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
FormParams params = (FormParams) target;
if (StringUtils.isBlank(params.getRuleId()) && StringUtils.isBlank(params.getRef())) {
errors.reject(null, "Необходимо указать или 'ID правила', и/или 'Объект алерта'!");
} else if (params.getDateFrom() == null || params.getDateTo() == null) {
errors.reject(null, "Необходимо указать период поиска!");
}
}
}
class A {
public void superMethod() {}
}
class B extends A {
@Override
public void superMethod() {}
}
interface Worker {
void doWork(int[] data);
}
class Worker96 implements Worker {
public void doWork(int[] data) {
....
}
}
class Worker71 implements Worker {
public void doWork(int[] data) {
....
}
}
// потом можно создать мапу
class Main {
private Map<Integer, Worker> workers = ....;
Main (){
workers.put(96, new Worker96());
workers.put(71, new Worker71());
}
public void dataProcessing(int[] data) {
Worker w = workers.get(data.length);
if (w == null)
throw new RuntimeException("Unsupported data length!");
w.doWork(data);
}
}
// как то так...
<form ...>
<input name="lastName" value="Ivanov" />
<input name="firstName" value="Ivan" />
<input name="lastName" value="Petrov" />
<input name="firstName" value="Petr" />
</form>
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// тут будит lastNames = {"Ivanov", "Petrov"}
String[] lastNames = request.getParameterValues("lastName");
// тут будит firstNames = {"Ivan", "Petr"}
String[] firstNames = request.getParameterValues("firstName");
List<Author> author = new ArrayList<Author>();
for (int i = 0; i < lastNames.length && i < firstNames.length; i ++) {
author.add(new Author(firstNames[i], lastNames[i]));
}
}
if (delNode.equals(head)) {
head = head.next;
return;
} else {
for (Node p = head; p != null; p = p.next) {
if (delNode.equals(p.next)) {
p.next = delNode.next;
}
}