Java 表单操作默认为';行动';属性';s字面值

Java 表单操作默认为';行动';属性';s字面值,java,jsp,struts2,Java,Jsp,Struts2,我在制作web项目时试图使用struts2框架,但遇到了标题问题。我是stackoverflow新手,因此如果代码难以阅读,请原谅我。 这是我的struct.xml <struts> <package name="default" extends="struts-default" namespace="/"> <action name="login" class="com.mxl.actions.LoginAction"> <r

我在制作web项目时试图使用struts2框架,但遇到了标题问题。我是stackoverflow新手,因此如果代码难以阅读,请原谅我。 这是我的struct.xml

<struts>
<package name="default" extends="struts-default" namespace="/">
    <action  name="login" class="com.mxl.actions.LoginAction">
        <result name="success">/success.jsp</result>
        <result name="input">/login.jsp</result>
    </action>
</package>

当我单击“在服务器上运行”时,项目看起来很好,当我输入用户名和密码时,它会显示为“404未找到”,URL会转到
localhost:8080/Struts\u try/login
我希望有人能帮我。

假设您的操作类中有一个成员变量
name

调用操作时,默认配置映射调用setter的http参数。例如,如果您调用
localhost:8080/Struts\u try/login?name=myName
Struts2将实例化您的操作并调用方法
setName(“myName”)
(如果您的属性不是字符串,Struts2将尝试转换它)

在操作执行之后,当结果显示在视图中(比如JSP页面)时,您可以编写
,Struts2将调用操作的方法
getName()


因此,重要的是使用getter和setter设置和获取值,而不是直接使用成员变量。

我已将所需的jar文件放入
WEB-INF/lib
并修复了构建路径。好奇的是,我的struct.xml是键入错误吗?这是我的strust.xml,我在.java文件中添加了getter和setter,但仍然不起作用。
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
        <init-param>
            <param-name>struts.i18n.encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
</web-app>
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<s:form action="login" method="post">
    <s:textfield name="username" label="User Name"
        cssStyle="width:160px;height:26px;" />
    <s:password name="password" label="Pass Word"
        cssStyle="width:160px;height:26px;" />
    <s:submit value="Sign in" />
</s:form>
package com.mxl.actions;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
    private String username;
    private String password;
    @Override
    public String execute() throws Exception {
        if(username.equals("1") && password.equals("111")){
            return SUCCESS;
        }else{
            return INPUT;
        }
    }
    public String getName() {
        return username;
    }
    public void setName(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}