嗨,我在 Eclipse 上的 Web 应用程序上有一个简单的注册表单。我制作了这个小脚本来控制重复的用户名。
<script type="text/javascript">
$(document).ready(function() {
$('#idBtnRegister').click(function(){
username = $('#idUsername').val();
CCService.findUsername(username,{
callback: function(find) {
if(find == true) {
$('#idUsername').popover({ html: true, content: 'username already exist', placement: 'right' });
$('#idUsername').popover('show');
}
else {
url = '<%= CCGestioneConstants.CONTEXT_PATH %>' + '/registered';
var params = {};
params["username"] = $('#idUsername').val();
params["name"] = $('#idName').val();
params["surname"] = $('#idSurname').val();
params["password"] = $('#idPassword').val();
params["email"] = $('#idEmail').val();
$.ajax({
type: 'POST',
data: params,
url: url,
async: false,
cache: false,
});
}
},
async: false
});
});
});
</script>
CCService.findUsername 这是一个 DWR 调用:
public boolean findUsername(String username) throws SQLException, ClassNotFoundException {
UserDao userDao = new UserDao();
boolean find = userDao.findUserByUsername(username);
return find;
}
url 应该调用映射在 /registerd 上的 servlet
url = '<%= CCGestioneConstants.CONTEXT_PATH %>' + '/registered';
实际上一切正常,如果用户名不存在,用户将被添加到数据库中,但在 servlet 中,命令:
request.getRequestDispatcher("html/pages/registered.jsp").forward(request, response);
不要在 jsp 上重定向,但我仍在注册页面上。
为什么?