我写了一个登陆界面 可是测试了N次 页面上没有值传入ACTION。 请大家帮忙看看。JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="/struts-tags" prefix="s"%><html>
<head>
<title></title>
</head><body bgcolor="#FFFFFF">
<script language="javascript">
function check()
{
if (document.form1["username"].value==""||document.form1["password"].value=="")
{
alert("Please enter your Username or Password!");
return false;
}
}
</script>
<table >
  <tr>
    <td >
  <s:form action="login.action" method="post" name="form1">
      <table >
        <tr>
          <td >
          
          <table>
            <tr>
              <td colspan="2" height="100">&nbsp;</td>
            </tr>
            <tr>
              <td width="300px" align="right"><b>Username :</b> </td>
              <td width="300px" valign="top">
              <input type=text name="username" style="width:150px;" />
               </td> 
            </tr>
            <tr><td colspan="2" height="10px"></td></tr>
            <tr>
              <td align="right"><b>Password :</b> </td>
              <td valign="top">
              <input type=password name="password" style="width:150px;" />
              </td> 
            </tr>
            <tr><td colspan="2" height="10px"></td></tr>
            <tr>
              <td colspan="2" align="right">
              <input type=submit value="Sign in" onclick="return check();" /> &nbsp;
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
               </td>
            </tr> 
          </table>
          
          </td>
        </tr>
      </table>
  </s:form>
</td>
  </tr>
</table>
</body>
</html>user.java
package domain;public class User {

private int user_id;
private String school_id;
private String user_name;
private String password;
private String sex;
private String birthday;
private String email;
private String phone;
private String status;
private String delflag;
private String create_user;
private String create_time;
private String update_user;
private String update_time;

public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
public String getSchool_id() {
return school_id;
}
public void setSchool_id(String school_id) {
this.school_id = school_id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}

public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDelflag() {
return delflag;
}
public void setDelflag(String delflag) {
this.delflag = delflag;
}
public String getCreate_user() {
return create_user;
}
public void setCreate_user(String create_user) {
this.create_user = create_user;
}
public String getCreate_time() {
return create_time;
}
public void setCreate_time(String create_time) {
this.create_time = create_time;
}
public String getUpdate_user() {
return update_user;
}
public void setUpdate_user(String update_user) {
this.update_user = update_user;
}
public String getUpdate_time() {
return update_time;
}
public void setUpdate_time(String update_time) {
this.update_time = update_time;
} }
UserDao。java
package dao;import java.sql.ResultSet;
import core.ConnDB;
public class UserDao {

private static ConnDB db = new ConnDB();

public static boolean CheckLogin(String user_name, String password) {

ResultSet rs = null;
boolean b = false;
System.out.println(user_name);
System.out.println(password);
try {
String sqlString = "select * from user where user_name='" + user_name + "'"+ " and password='" + password + "'" ;
rs = db.executeQuery(sqlString);
while (rs.next()) {
if (rs.getString(1) != null || rs.getString(1).length() != 0) {
b = true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return b;
}

}LoginAction.jave
package action;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;import dao.UserDao;
import domain.User;public class LoginAction extends ActionSupport{ private User user = new User();

public String execute() throws Exception {

if(UserDao.CheckLogin(user.getUser_name(), user.getPassword())){
ActionContext.getContext().getSession().put("user_id",user.getUser_id());
ActionContext.getContext().getSession().put("user_name",user.getUser_name());
return SUCCESS;
}else{
this.addFieldError("logincheck", "Wrong user name or password!");
return ERROR;
}
} public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
}
}web.xml<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
  
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
</web-app>struts.xml<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>

 <package name="default" extends="struts-default" namespace="/">
  <action name="login" class="action.LoginAction">

        <result name="success">/main.jsp</result>
        <result name="error">/error.jsp</result>
</action>
 </package></struts>
 麻烦大家帮我看看! 谢谢了!

解决方案 »

  1.   

    <input type=text name="username" style="width:150px;" />改成user.username
    private User user = new User();去掉
      

  2.   

    谢谢~~ <input type=text name="username" style="width:150px;" />改成user.username这样就好了~ 
      

  3.   

    就是改成user.username  这个user.username中的 . 相当于get方法
      

  4.   

    我没有找到哪里是接受request到username和password?
      

  5.   

    <%@ taglib uri="/struts-tags" prefix="s"%>这个S
    你标input用的不是struts2的