Struts2 -- No result defined for action action.Register and result success

Struts2 – No result defined for action action.Register and result success


BUG
  在跟着官网的例子学习Struts 2框架的时候遇到了个问题:No result defined for action action.Register and result success.最后发现是struts.xml里 package的namespace的问题。解决方法在struts.xml的注释里说明了。

Person.java:

package action;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import model.Person;

/**
 * Create by sino_crazy_snail on 2018-04-02
 * Email: sino_crazy_snail@qq.com
 */
public class Register extends ActionSupport {
    private Person person;

    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }

    /**
     * A default implementation that does nothing an returns "success".
     * <p>
     * <p>
     * Subclasses should override this method to provide their business logic.
     * </p>
     * <p>
     * <p>
     * See also {@link Action#execute()}.
     * </p>
     *
     * @return returns {@link #SUCCESS}
     * @throws Exception can be thrown by subclasses.
     */
    @Override
    public String execute() throws Exception {

        return SUCCESS;
    }
}

struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE struts PUBLIC
                "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
                "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>

    <constant name="struts.devMode" value="true" />
    <constant name="struts.convention.classes.reload" value="true"/>
    <!--换成"<package name="hellodemo" namespace="/" extends="struts-default">"就可以正常运行了-->
    <package name="hellodemo"  extends="struts-default">
        <action name="index">
            <result>/index.jsp</result>
        </action>

        <action name="register" class="action.Register" method="execute">
            <result name="success">/thankyou.jsp</result>
        </action>
    </package>
</struts>

index.jsp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>Hello_World Application - Welcome</title>
</head>
<body>
  <h1>Welcome To Struts 2!</h1>
    <p><a href="register.jsp">Please register</a> for our prize drawing. </p>
</body>
</html>

register.jsp

<%--
  User : sino_crazy_snail
  Email: sino_crazy_snail@qq.com
  Date : 2018-04-02
  Time : 11:56
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>Register</title>
</head>
<body>
    <h3>Register for a prize by completing this form.</h3>
    <s:form action="register">
        <s:textfield name="person.firstName" label="First Name: "/>
        <s:textfield name="person.lastName" label="Last Name: "/>
        <s:textfield name="person.email" label="Email: "/>
        <s:textfield name="person.age" label="Age: "/>
        <s:submit value="Submit"/>
    </s:form>
</body>
</html>

thankyou.jsp

<%--
  User : sino_crazy_snail
  Email: sino_crazy_snail@qq.com
  Date : 2018-04-02
  Time : 12:07
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>Thank You</title>
</head>
<body>
    <h3>Thank you for registering for a prize.</h3>
    <p>Your registration information: <s:property value="person"/> </p>
    <p><a href="<s:url action='index'/>">Return to home page</a> </p>
</body>
</html>

build.gradle:

group 'sino_crazy_snail'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'war'

sourceCompatibility = 1.8
buildscript {
    ext.struts2_version="2.5.16"
    ext.log4j2_version="2.11.0"
}
repositories {
    mavenCentral()
}

dependencies {
    compile "org.apache.struts:struts2-core:${struts2_version}"
    compile "org.apache.struts:struts2-convention-plugin:${struts2_version}"
    compile "org.apache.logging.log4j:log4j-core:${log4j2_version}"
    compile "org.apache.logging.log4j:log4j-api:${log4j2_version}"
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

success

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值