struts2 测试错题解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2 测试错题解析相关的知识,希望对你有一定的参考价值。

技术分享

解析:$.parseJSON()方法是将字符串转换成Json类型数据,$.getJSON()方法是获取JSON数据,两者不用联合使用。

技术分享

 

解析:

A:ActionContext接口没有getRequest()方法,要想获取request只能ActionContext.getContext().get("request");

B:ServletAtionContext接口就是调用原始ServletAPI

技术分享

 

解析:在action控制器中可以使用EL表达式,前提是调用的属性在Action类中有该属性,并有get,set方法。

技术分享

 

解析:实现Intereceptor接口必须重写三个方法:init(),destroy()和intercept(ActionInvocation invocation),并且返回值必须是String;

如果是继承AbstractInterceptor抽象类则只用重写intercept(ActionInvocation invocation)方法,返回值也必须是String。

技术分享

 

解析:

A:日期格式:yyyy-MM-dd,MM必须大写

D:<s:textarea>标签生成的是<textarea>标签

技术分享

 

解析:

C:ValueStack装取数据是先进后出,如果有两个同名属性,只会是上面的(后进的数据)覆盖下面的。

D:如果Action里的字段都是自己的会放在ValueStack中,如果Action里引用了其他类的对象则会放在StackContext中。

技术分享

 

解析:在xml中配置编码<constant name="struts.i18n.encoding" value="UTF-8"/>

技术分享

 

解析:Action类中有一个List,数据将会保存在ValueStack中,取出ValueStack中的值不用加#号,直接用属性名即可,取出List中的值可用用下标的方式也可以用get()方法。

技术分享

 

解析:

A:Action中没有直接可用的request对象

B:ActionContext接口不能直接调用getSession()方法,而是先调用getContext()方法

D:没有ServletContext接口

技术分享

解析:表示这一块没怎么听,我也不会。

技术分享

 

解析:

在JSP页面用set标签定义的字段会保存在StackContext中,所以取值就会用到#号,而且它还是以数组的形式存放的,要想取到真正的内容就要遍历一遍,

所有A错了,A只能取到内存地址;%{}只是为了标识list不是一个字符串,而是一个字段或者说是一个变量,所以BD是对的,但是C也能输出正确结果。。。

 

以上是关于struts2 测试错题解析的主要内容,如果未能解决你的问题,请参考以下文章

Struts2源码解析2

Struts2解析

第五节 Struts2 - 文件上传与下载

图文解析Struts2框架执行流程

struts2 ValueStack(值栈)解析

笔记:Struts2 文件上传和下载