1、其实老师在视频里讲过了,不过现在又忘记了,去网上搜了一会,找到一个相对简单易懂的答案:
说白了就是方便移植,假如你的应用程序在多台服务器上,如果其中一台服务器出问题了,我们可以把这个上面的对象转移到其它服务器上去,而Serializable是一个标识接口,不需要实现它的任何方法,而且它也没有方法,只是告诉系统实现了我之后可以被序列化,方便在网络中传输。
2、<s:checkboxlist name="userRoleId" list="#roleList" listKey="roleId" listValue="name"></s:checkboxlist>
listKey作为实际值被set到action的userRoleId中,listValue被作为显示值。struts标签中还有类似的标签,在这里给自己提个醒。