实现评论回复和评论在同一个页面,且评论回复显示在评论下方,由于jsp页面利用JSTL表现库和El隐士表达式实现,将文章的多条评论和该评论的多条回复通过c:foreach双循环遍历,因此需要在Servlet当中将某条Comment对应的多条Reply放到一个容器当中通过request.attribute();方法和EL表达式存取(这个问题可以思考一下如何实现),所以一开始纠结过通过EL表达式的嵌套实现变量和字符串的拼接,和c:foreach中的items动态赋值,实现该功能,甚至想过在Servlet利用多维容器实现对应存取。以上方法均有问题,后来想到EL表达式可以通过“.”来取一个类的成员变量,那么就建一个包含Comment类和Reply集合成员变量的类,利用JSTL和EL对该类的集合在JSP页面中实现评论和回复捆绑显示。
以上只提供一个思路,具体代码就不贴了,见谅,主要是为了那些纠结利用EL表达式嵌套取值,c:foreach items动态赋值,容器多维数组等问题的人一个新的想法,是否想错方向了。有一些问题还是有相似性的。
对于mysql如何设计评论表,回复表,我是将评论的ID主键放到回复表当中实现评论和回复的对位。