请教用Struts开发web应用时候,数据库的设计和类的设计问题
在用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高手指教,谢谢。