在用struts做web应用的时候,我遇到很多问题,
现在在此提出一个跟数据库设计和类设计的问题,请大家帮忙出谋划策,不胜感激。在此,假设我要做的是一个新闻发布系统,
要求:1,可以建立新闻分类
      2,可以发布新闻
      3,发布的新闻,通过列表的形式,显示新闻序号,新闻名称,发表时间列表。
      4,新闻列表的页面,要求用Struts的<logic:iterate>标签进行显示。最基本的数据表(下述问题会涉及到表结构的设计是否合理):字段大小不在考虑范围
1,新闻类型NewsType
   字段:ID,int---新闻类型序号 
   字段:Title,varchar2 ---新闻类型名称
2,新闻表News
   字段:ID,int --新闻序号
   字段:Title:varchar2---新闻标题名称
   字段:body:text---新闻内容
   字段:createDate:datetime--发布时间最基本的类设计:
1,NewsType.java  ----是JavaBean,用set,get 封装属性的存取
   属性:int ID;
         String title;
2,News.java
   属性:int ID
         String title;
         String body;
         String createDate;问题一:
由于News表中的TypeID函数依赖NewsType中的ID字段,那么,在设计News.java类的时候,在News.java中增加一个属性NewsType newsType;是否合理?
News.java类变为:
2,News.java
   属性:int ID
         String title;
         String body;
         String createDate;
         NewsType newsType;问题二:
如果采用问题一中提出的方法设计News.java类,那么在新闻列表页面newsList.jsp中,采用Struts的<logic:iterate>标签,来对取出来的一个新闻的ArrayList对向列表中的News对象进行循环显示的时候,如何显示新闻类型?
例如:
要求显示:新闻ID,新闻名称,新闻类型,发布时间
            1    5-1放假   时事新闻  2004-4-1如果用<logic:iterate>标签显示这个列表的时候(假设那个集合类已经建立好)
显示新闻ID可以这么写:
   <bean:write id="objNews" property="ID">
显示新闻标题可以这么写:
   <bean:write id="objNews" property="title">
显示新闻发布时间可以这么写:
   <bean:write id="objNews" property="createDate">
那么,这里的新闻类型,应该如何写?
这么写:<bean:write id="objNews" property="newsType">肯定不行,因为newsType是一个NewsType对象,除非再NewsType.java类中,增加一个toString()方法,return title;但是,这种方法,是否合适?是否还有其他更加好的方法?以上内容,请各位Struts高手指教,谢谢。