2

我将把 Java 类内部的错误消息传递给 JSP,这个错误消息写在.properties文件中。

我正在使用操作类方法addActionError(result)来显示该错误消息,但它显示的消息就像error.register.bademail在 JSP 中一样。这不是我的书面信息。

Java类:

package com.uttarainfo.s2;
public class Model {

    public List<String> register(RegBean bean) {
        if(bean.getEmail().equals("bond@gmail.com"))
            return "error.register.bademail"; i want to return this key 
        else
            return "success";
    }

}

动作类:

if(result.equals(SUCCESS))
    return SUCCESS;
else
{
    addActionError(result);
    return "failure";
}

这是 JSP 代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <h1>Register</h1>
    <s:form action="register"  method="post" enctype="multipart/form-data">
        <s:textfield key="bean.uname"/>
        <s:textfield key="bean.email"/>
        <s:password key="bean.pwd"/>
        <s:password key="bean.rpwd"/>
        <s:file key="bean.pic"/>
        <s:submit/>
        <s:actionerror/>
    </s:form>
</body>
</html>
4

2 回答 2

0

尝试

addActionError(getText(result));

getText()用于从资源中检索本地化消息。您只需要提供密钥即可。

于 2013-09-28T06:48:51.567 回答
0

我想查看 struts.xml 以及属性文件。请把代码。

编辑:好的,所以我从您的编辑中了解到,您必须返回一个列表(就像您在 java 中所做的那样),而不是来自操作类的字符串。如果是,你不能这样做。但是,使用 struts-2-json 插件将 json 对象返回到视图。

http://www.mkyong.com/struts2/struts-2-and-json-example/

此外,您的操作方法返回什么类型的数据并不重要,因为您只能返回字符串,而是您在操作类中设置的属性。因此,在您的视图中可以访问操作类中设置的属性,对于列表(在操作类中设置),您将必须使用迭代器。

此外,如果您刚刚对 struts2 进行了说明,我建议您了解 MVC 以及 getter 和 setter 在其中的作用。

我可以在没有 getter 和 setter 的情况下使用 mvc 吗?

感谢您的输入,如果您收到错误,那么您也应该返回一个字符串。使用该字符串,将显示 struts.xml 中的映射错误页面。例如。在处理数据时你发现它不一致然后你可以返回一个字符串“错误”并且在struts中它显示为

<action name="yourAction" class="action.Action">
<result name="error">/Error.jsp</result>
</action>

对于您应该寻找或即将寻找的异常处理,您可以访问以下链接 http://struts.apache.org/release/2.3.x/docs/exception-handling.html

如果我回答了你的问题,请告诉我。

于 2013-09-28T07:29:48.630 回答