gpt4 book ai didi

java - 从 jsp 页面接收 'null' 值到 Struts2 Action

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:32 25 4
gpt4 key购买 nike

我使用 Struts2+JSP 作为我的 J2EE 平台。有时我从 jsp 页面的 struts 文本字段中获取空值到操作中。例如在登录页面中,尽管验证了我的表单并防止输入无效数据(例如 null 或空白),但我仍然在用户名字段中得到空值,而不是实际输入的值。有人遇到过这种情况吗?

这是发生此错误的一段代码:

public class LoginAction extends ActionSupport {

private static final long serialVersionUID = 1L;
private String username;
private String password;

@SuppressWarnings({ "unchecked", "deprecation", "static-access" })
public String execute() {

try {
CacheLogger.getInstance().AddEnteredUsernameEvent(username);
UserSession userSession = UserSession.getInstance();

userSession.getPlayerById(username.toLowerCase()); //THE ONE WHERE I GET NULL VALUE (sometimes)

相应的 JSP 页面:

<s:form action="login.action" method="post" onsubmit="document.getElementsByName('password').item(0).value=sha1Hash(document.getElementsByName('password').item(0).value);return validateLogin()" style="text-align:center;">
<s:textfield name="username" maxlength="50" label="نام کاربری" tabindex="1" onfocus="hideMessage()" cssClass="loginTextField" />
<s:password name="password" maxlength="255" label="رمز عبور" tabindex="2" onfocus="hideMessage()" cssClass="loginTextField"/>
<input type="submit" name="Submit" value="ورود" class="submit" tabindex=3 onclick="javascript:$('#exception').css('display','none');$('#actionmessage').css('display','none');"/>
</s:form>

javaScript validator 部分:

function validateLogin()
{
var username = document.getElementsByName('username').item(0).value;
var password = document.getElementsByName('password').item(0).value;
var input=/^[a-zA-Z]+[a-zA-Z0-9]+[a-zA-Z0-9]+\d*[a-zA-Z0-9]*$/;

if(!username)
{
showErrorMessage('خطا! نام کاربری را وارد نکرده اید',26);
return false;
}
else
if(!password)
{
showErrorMessage('خطا! رمز عبور را وارد نکرده اید',25);
return false;
}
else
if(!input.test(username))
{
showErrorMessage('خطا! در قسمت "معین خر است" کاراکتر غیر مجاز وارد کرده اید',49);
return false;
}
return true;
}

最佳答案

在您的 jsp 页面中可能有多个名为 usename 的元素,而不是使用 document.getElementsByName要获取文本框值,请尝试使用表单引用 document.formid.username.value
并尝试在您的用户名文本框声明中设置空值,例如 <s:textfield .... value="" />

关于java - 从 jsp 页面接收 'null' 值到 Struts2 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com