关于讲的乱的感觉

来源:4-10 关于input的代码演示-深入Struts2

慕虎7863013

2017-03-19 17:38

这老师是很努力,奈何没有教师的天赋,很多细节没必要讲,讲了以后反而干扰了,而且次序讲的不好。第一次年龄输入abc的时候,没有进入success.jsp的时候你讲链接是LoginAction.action干什么啊,我还以为会造成链接的改变,其实成功了地址栏也是LoginAction.action啊,你不如说跳转失败,还是在log.jsp不就行了吗。只是url已经不在log.jsp了,但是没有告诉用户错在哪里,需要后续改进。次序方面,你直接说如果自己写了this.addFiledError的话就要自己加上return INPUT或者在valiate里写不就行了嘛?否则会干扰的。

写回答 关注

2回答

  • 骑着猪去追梦
    2019-02-28 09:57:52

    这个同学不合格,理解错了老师得意思却自以为抓住了老师的错误,不说你有没有资格批评,就说说你说的那几点错误。

    你说的第一个1.年龄输入abc的时候,没有进入success.jsp的时候你讲链接是LoginAction.action

    解答:Structs2的执行过程是获得用户请求之后读取struts.xml配置文件,而老师写的是先通过

    login.jsp

    来获取用户输入数据提交表单再传给action处理类来判断应该返回什么字符串,之后读取配置文件来选择返回那个jsp文件。

    if(user.getAge() == null || "".equals(user.getAge())){			
    this.addFieldError("userage", "年龄不能为null");			
    return INPUT;		}		
    return SUCCESS;

    所以不管返回那个文件,它都要经过action方法来执行操作,<action><action/>相当于调用那个界面的一张名片,最后判断执行那些操作,所以要返回的链接相当于都写到了action上。


    第二个2.你直接说如果自己写了this.addFiledError的话就要自己加上return INPUT或者在valiate里写不就行了嘛?否则会干扰的。

    解答:return INPUT;这行代码返回的一个字符串,是在ActionSupport类中的定义的一个常量,源码里是这样定义的。

    public static final java.lang.String SUCCESS = "success";
    
    public static final java.lang.String NONE = "none";
    
    public static final java.lang.String ERROR = "error";
    
    public static final java.lang.String INPUT = "input";
    
    public static final java.lang.String LOGIN = "login";
    
    public abstract java.lang.String execute() throws java.lang.Exception;

    说白了,它也只是一个标记,可以选择返回,也可以不返回,完全看需求,具体你说的干扰,我完全不理解。

    犯这些错误,只能说明你是一个不合格的学生,没有资格说老师教的不好,一边吃的肉一边说肉做的难吃,在我家里你连饭都没得吃。

  • 宛如脱缰的野狗
    2017-03-23 22:11:48

    中立态度!不过还是要感恩!

Struts2入门

本教程带你踏上Struts2学习之旅,对Struts2进行更深入讲解

95048 学习 · 481 问题

查看课程

相似问题