(四)
19. 因为听说Struts2官方支持json。所以按照网上的教程试验一下。结果发觉一直报no mapping错误。
?????? 配置文件是这样的。
????????
<package name="mysearch" namespace="/mysearch" extends="json-default"> <action name="goodslist" class="SearchAction"> <result type="json"/> </action> </package>
?
??????? 后来发觉是因为版本不对。我这里的用的是2.1.6。而官方支持是2.1.8。不过知道了,如果no mapping的错误。除了配置不对之外,还有可能是包没有齐
20。在java中。构造函数如果要调用其他构造函数的时候,只能放在{dy}行。为了方便。我一般会使用构造函数链的方式,一个调用另一个。但是这样调用我碰到了一个问题
?????? 比方说?
???????
A(Double a){ } A(Foo foo){ A(Double.parseof(foo.getString())) }
?
?????? 代码如上。就是foo的getString可能为null。那么就会报错。为此,我想了如下的一个解决办法
??????
A(Foo foo){ A(foo.getStirng()==null?Double.parseof(foo.getString():0.0)) }
?
?????? 利用了一个语法Condition?ifture:iffalse
21。taobao获取商品列表的API,在获取的时候,返回的是物品的总数,以及一页的商品信息。最近我在写一个应用。有一个需求,就是需要抽取全部的商品信息(这个设计有点不必要,所以实际中,如果总数大于一个数,那么就抽取这个数的商品,而不是全部。)
??????? 所以想要把获取总数商品数,和加载一页的信息抽出来得两个方法进行分离。但是实际的操作中,碰到了一个难题,就是这两个方法需要共享一个返回变量(因为连接taobao的api只能够抽取一次。)。不过{zh1}没有成功。当然因为思考的要求比较高。不想通过成员变量来解决。
??????? {zh1},怎么说呢,这次吸取的教训就是,不要力求xx。比方说两个方法,需要共享一个变量。还是有点麻烦的。与其花费时间解决。还不如好好的想想能不能修改需求。
22.继续上面的Taobao开发。这个的需求其实就是需要一个Taobao的Item类转换成自己的类Goods的这么一个需求。然后就设计了GoodsDao和ItemDao这两个接口。然后ItemDao继承GoodsDao。为了节约代码。结果实际的工作中,结果就很不理想。因为GoodsDao和ItemDao其实是两个不同需求的东西。混在一起。{zh1}的思路就很不清晰。