【问题标题】:Better programming JSP one page vs multiple pages更好地编程 JSP 一页与多页
【发布时间】:2018-11-19 12:44:36
【问题描述】:

JSP 应用程序编程 哪个更好 使用多个 if 条件在最少数量的 JSP 页面中编码 例如,使用带有变量的 if 语句插入销售额、成本、费用、客户、产品等。

if(variableValue=='Sales'
{

Sales insert code

}

else if(variableValue='Costs'
{
costs insert code
}

创建多个页面。

salesinsert.jsp 成本插入.jsp 等等

这是更好的编程。短期和长期的优缺点是什么 表现 维护 迁移到不同的技术栈(比如 java 到 python)

我知道在 JSP 中编写应用程序逻辑不好。但不幸的是我现在不能改变它。我在 jsp 页面本身中编码逻辑的两种方式

【问题讨论】:

  • 不应将逻辑放入任何 JSP 中。永远不应该编写 Scriptlet 代码。如果您必须将代码放入 JSP 中,您应该使用 JSTL。

标签: java jsp if-statement


【解决方案1】:

此代码与您应该遵循的MVC pattern 不兼容:

模型是模式的核心组成部分。它是应用程序的动态数据结构,独立于用户界面。它直接管理应用程序的数据、逻辑和规则。

视图可以是任何输出表示信息,例如图表或图表。相同信息的多个视图是可能的,例如用于管理的条形图和用于会计的表格视图。

第三部分或部分,即控制器,接受输入并将其转换为模型或视图的命令

JSP 是视图组件,应该决定要表示哪些数据,但是控制器, 可以是ActionServlet in struts

ActionServlet 的行为类似于 FrontController 模式。

【讨论】:

    【解决方案2】:

    这完全取决于 JSP 页面的大小:

    • 如果生成的 JSP 文件大小合理(少于 300 行),则将其放在同一页面中
    • 如果合并的页面太大并且您可以拆分它而不会增加将数据传递到子页面的大量复杂性,则创建单独的 JSP 文件/标记文件。
    JSP 文件中的

    if 语句不一定是应用程序逻辑。通常情况下,页面的某些部分是否显示取决于某些值。我宁愿称这个视图逻辑。如果你有一个重复的视图元素,for 循环也是如此。

    您当然不想在 JSP 中使用 SQL、数据操作、数据验证等。

    【讨论】:

    • 能否提供一个MVC模式的jsp示例代码。
    • 你为什么如此热衷于 MVC——一种经常被误解的模式?最佳解决方案取决于您的整个软件——而我们对此几乎一无所知。当涉及到 JSP 时,不要将应用程序/业务逻辑(SQL、数据操作、数据验证等)放在那里。相反,应在 servlet 或 Spring 控制器中准备所有相关数据,以使 JSP 页面精简。您甚至可能需要简单的 Java 类 (POJO),以便以方便的形式将准备好的数据提供给 JSP 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2015-07-18
    • 1970-01-01
    相关资源
    最近更新 更多