jsp如下:
<s:form theme="simple" validate="false">
<s:fielderror><s:param>用户名</s:param></s:fielderror>
<table cellpadding="0" cellspacing="0" width="50%" align="center" class="table_login">
<tr>
<td width="2%" class="td_star" colspan="1">*</td>
<td width="15%" align="center" colspan="1">用户名:</td>
<td width="88%" colspan="2"><s:textfield key="userId" maxlength="10"></s:textfield></td>
</tr>
<tr>
<td width="2%" class="td_star" colspan="1">*</td>
<td width="15%" align="center" colspan="1">密 码:</td>
<td width="88%" colspan="2"><s:password key="key" maxlength="10"></s:password></td>
</tr>
<tr>
<td align="center" colspan="4" height="10px"></td>
</tr>
<tr>
<td align="right" width="17%" colspan="2"></td>
<td align="center" width="15%" colspan="1"><s:submit action="Login_toMenu" key="登录" cssClass="button"/></td>
<td align="left" width="68%" colspan="1"><s:submit action="Login_toRegister" key="注册" cssClass="button"/></td>
</tr>
</table>
</s:form>配置如下:
<package name="account-support" namespace="/common" extends="account-default">
<action name="Login_*" method="{1}" class="account.pan.action.Login">
<result name="login">/common/Menu.jsp</result>
<result name="input">/common/Register.jsp</result>
<result name="error">/common/Login.jsp</result>
<result name="success">/common/Login.jsp</result>
<interceptor-ref name="validation"/>
</action>
</package>
action如下:
public String toMenu()
{
System.out.println("userid:" + this.getUserId());
if (this.getUserId() == null || "".equals(this.getUserId()))
{
this.addFieldError("用户名", "请输入用户名");
return ERROR;
}
return LOGIN;
}
问题,不管用户名是否输入值了,为什么每次按下登录,userid总是为空?
<s:form theme="simple" validate="false">
<s:fielderror><s:param>用户名</s:param></s:fielderror>
<table cellpadding="0" cellspacing="0" width="50%" align="center" class="table_login">
<tr>
<td width="2%" class="td_star" colspan="1">*</td>
<td width="15%" align="center" colspan="1">用户名:</td>
<td width="88%" colspan="2"><s:textfield key="userId" maxlength="10"></s:textfield></td>
</tr>
<tr>
<td width="2%" class="td_star" colspan="1">*</td>
<td width="15%" align="center" colspan="1">密 码:</td>
<td width="88%" colspan="2"><s:password key="key" maxlength="10"></s:password></td>
</tr>
<tr>
<td align="center" colspan="4" height="10px"></td>
</tr>
<tr>
<td align="right" width="17%" colspan="2"></td>
<td align="center" width="15%" colspan="1"><s:submit action="Login_toMenu" key="登录" cssClass="button"/></td>
<td align="left" width="68%" colspan="1"><s:submit action="Login_toRegister" key="注册" cssClass="button"/></td>
</tr>
</table>
</s:form>配置如下:
<package name="account-support" namespace="/common" extends="account-default">
<action name="Login_*" method="{1}" class="account.pan.action.Login">
<result name="login">/common/Menu.jsp</result>
<result name="input">/common/Register.jsp</result>
<result name="error">/common/Login.jsp</result>
<result name="success">/common/Login.jsp</result>
<interceptor-ref name="validation"/>
</action>
</package>
action如下:
public String toMenu()
{
System.out.println("userid:" + this.getUserId());
if (this.getUserId() == null || "".equals(this.getUserId()))
{
this.addFieldError("用户名", "请输入用户名");
return ERROR;
}
return LOGIN;
}
问题,不管用户名是否输入值了,为什么每次按下登录,userid总是为空?
解决方案 »
- CXF一秒能响应多少请求
- 关于sql的group by。。。
- 做文件上传时,FORM提交还是抱错“拒绝访问!”,请高手解惑
- 使用ActiveX插件向Java web服务器(Tomcat)发送文件(多文件上传)
- 奇怪的sql2000 Error establishing socket 问题
- 一个关于Canvas ca = new canvas(curimg)的问题,欢迎大家指正
- 求一个简单问题
- 我用ASP写的一个网站,几经周折,终于可以访问了,请大家来看看!
- synchronized(page)具体是什么意思啊,起什么作用啊!!谢谢
- 表单设置了multipart/form-data为什么提交方式还是document
- 在线等答案 表单提交问题
- iWebOffice.ocx.jsp.mysql 的用法
<FORM NAME="myForm" ACTION="Daoru" METHOD="post">应该有个action 连接吧
<html:submit value="查询" />
<html:reset value="重置" />
<html:hidden property="queryCondition"/>
</html:form>
* @return the userId
*/
public String getUserId() {
return userId;
}
/**
* @param userId the userId to set
*/
public void setUserId(String userId) {
this.userId = userId;
}这里的set方法始终未被调用,为什么呢
<s:submit action="Login_toRegister" key="注册" cssClass="button"/> </td>
改成:
<s:submit action="Login_toMenu.action" key="登录" cssClass="button"/> </td>
<s:submit action="Login_toRegister.action" key="注册" cssClass="button"/> </td>
<action name="Login_*" method="{1}" class="account.pan.action.Login">
<result name="login">/common/Menu.jsp </result>
<result name="input">/common/Register.jsp </result>
<result name="error">/common/Login.jsp </result>
<result name="success">/common/Login.jsp </result>
<interceptor-ref name="validation"/> // 去掉
</action>
</package> 把validation拦截器去掉即可。建议:
<s:textfield key="userId" maxlength="10"> </s:textfield> 把key换成name。
<s:submit action="Login_toMenu" key="登录" cssClass="button"/> 把key换成value。提示以下警告信息,但不影响运行2009-05-10 WARN [org.apache.struts2.util.TextProviderHelper] - [The first TextProvider in the ValueStack (com.opensymphony.xwork2.ActionSupport) could not locate the message resource with key 'userId'} - [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn(CommonsLogger.java:45)}
2009-05-10 WARN [org.apache.struts2.util.TextProviderHelper] - [The default value expression 'userId' was evaluated and did not match a property. The literal value 'userId' will be used.} - [com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn(CommonsLogger.java:45)}