这可能是一个非常基本的问题,但仍然想知道在性能和可维护性方面哪种方法更好。
例:- manageCouriers.jsp
但是在这里,我必须编写更多的代码来检查它是更新还是添加操作,还是在控制器中(我正在使用spring )。
- addCourier.jsp和updateCourier.jsp
对我来说,这是直接的,我不想检查任何条件,在这里我需要更少的编码,我看到两个页面都有相同的属性--大多数情况下,但是如果有未来的变化,我会在维护两个页面的过程中受到打击。
我觉得这两种场景似乎都是更好的一些方式,我处于混乱的状态选择哪一个,为了更好的性能和可维护性。感谢您的宝贵投入
发布于 2015-07-05 14:19:26
从最不常见的分母开始,它支持您当前和将来所有可用于的用例,并在新的需求迫使您时重构。
尽管如此,从您所描述的角度来看,至少从维护的角度来看,最简单的方法是只有一个表单,其中有两个带有name属性的按钮,这样您就可以很容易地根据@RequestMapping的param属性来区分服务器方法,比如
<input type="submit" class="button" name="add" value="add"/>
<input type="submit" class="button" name="update" value="update"/>并根据param来区分您的conroller方法,例如用于编辑。
@RequestMapping(method = RequestMethod.POST, params = "add")
public String add() {
...
}和更新
@RequestMapping(method = RequestMethod.POST, params = "update")
public String update() {
...
}发布于 2015-07-05 19:34:10
避免重复,为了灵活地制作两个页面,但是将jsp包含用于常见的共享部件,代码只在部署的JSP java类中重复,因此在JSP端维护更容易,性能也是一样的。
<%@include file="common.inc"%>控制器中的逻辑越多,就越好,在模型中提供结果并在JSP中读取它们。
例如,如果页面是控制器(更好)或JSP中的插入或更新,您可以决定向common.inc发送信号(在两个页面中的每一个页面中都进行硬编码,或者甚至可以在common.inc中检查ID是否存在)。
我同意您应该避免在JSP中进行检查,但是“公共”jsp代码越完整,就会更不可避免地进行像或这样的检查(只要您只是检查表示逻辑,例如:如果isEdit=true然后打印不同的头标签)。
https://stackoverflow.com/questions/31231202
复制相似问题