出于某种原因,我似乎无法解决这个问题,即使在此处查看了多个示例之后.
我正在尝试使用Spring 3 MVC处理表单,但是我收到以下错误:
Neither BindingResult nor plain target object for bean name 'reverseString' available as request attribute
Run Code Online (Sandbox Code Playgroud)
所以我在这里得到了什么问题,但我没有解决它.这是我的方法
扩展SimpleFormController的ReverseController类:
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
ReverseString revString = (ReverseString) command;
ModelAndView mav = new ModelAndView();
ModelMap map = new ModelMap();
map.addAttribute("reverseString", revString);
mav.addAllObjects(map);
return mav;
}
Run Code Online (Sandbox Code Playgroud)
我的app-servlet.xml定义控制器如下:
<bean name="/reverse.app" class="ReverseController">
<property name="commandName" value="reverseString"></property>
<property name="commandClass" value="ReverseString" />
<property name="successView" value="reverseResult" />
<property name="formView" value="reverse" />
</bean>
Run Code Online (Sandbox Code Playgroud)
这是我的reverse.jsp中的表单:
<form:form method="POST" modelAttribute="reverseString" action="handleForm">
<form:errors …Run Code Online (Sandbox Code Playgroud) 我有两个md5哈希密码是相同的,应该使用MessageDigest.isEqual方法返回true.但是比较返回false.
使用Array.toString打印字节数组时,它们是相同的.对于Arrays.euqals和MessageDigest.isEqual,它仍然不起作用.
public boolean verifyUserCredentials(String username, MessageDigest password) {
ListIterator<User> iterator = userList.listIterator();
while (iterator.hasNext()) {
User user = iterator.next();
byte md1[] = user.getPassword().digest();
byte md2[] = password.digest();
if (user.getUsername() == username && MessageDigest.isEqual(md1, md2)) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud) 由于Vaadin 7中不再存在LoginForm,处理由单个用户名/密码输入和"登录"按钮组成的基本登录页面的最佳方法是什么.
如何确保在按回车键时提交表格?我可以想办法做到这一点,但认为必须有一个更常见的方法.