java - JSP 页面模板

标签 java spring jsp

我正在寻找一种为 jsp 页面创建模板的方法,该模板具有与 Java 通用类类似的行为?

我现在拥有的:在我的 View 文件夹(WEB-INF/view/jsp)中,我有一个具有相同四个文件的目录列表,其中包含其函数的接收名称(例如,新项目、更改项目、删除项目、列表)。

在每一组中,jsp 页面都保存从我的项目中的一个特定实体类读取的数据。

例如,对于我的 Dao 类,我有类似的内容:

通用类

public class Dao<E> {

    private final Class<E> entity;

    @Autowired
    protected SessionFactory sessionFactory;

    protected Session getCurrentSession(){
        return sessionFactory.getCurrentSession();
    }

    public Dao(Class<E> classe) {
        this.entity = classe;
    }

    public boolean remove(E transientInstance) {
        ...
    }

    ...
}

这样,每个 Dao 类都有类似于这样的结构:

@Repository
public class FornecedorDao extends Dao<Fornecedor> {

    public FornecedorDao() {
        super(Fornecedor.class);
    }

}

有没有可以完成类似jsp页面的东西? (我更喜欢一个除了 Spring 之外不需要添加到我的项目中的其他框架的解决方案)。

更新

更好地解释每个文件夹中的每一页:

new_item.jsp -> 它只是我将数据提交到服务器的一个表单。表单的每个字段都是我的实体类的属性。

change_item.jsp -> 与 new_item.jsp 相同,加上一个带有类属性 id(主键)的隐藏字段。

remove_item.jsp -> 有一个只有一个字段的表单:一个隐藏字段,其中包含要删除的元素的 id。

list.jsp -> 接收项目列表并生成一个表,其中每一列都是我的实体类的属性。

我希望完成的事情,例如,是这样的:

在模板中,我将拥有表单或表格的 html 代码。该页面没有样式:jquery 代码读取它们,去掉标题和正文内容,并将这些数据添加到我的 jsp 页面dashboard.jsp 中的 div 中。在每个页面中,我喜欢只告诉我将使用的实体类的名称和属性,并根据模板创建要传递到浏览器的页面。

最佳答案

您可以获得的最接近的是 JSP include 标记:

<jsp:include page="new_item.jsp">
    <jsp:param name="formaction" value="newItemServlet"/>
    <jsp:param name="entityparams" value="{params:[param1,param2,param3]}"/>
</jsp:include>

这将允许您将参数传递给 JSP 模板。然后可以使用 JSP 和 javascript 解析这些参数,从而呈现自定义表单字段。

关于java - JSP 页面模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23868712/

相关文章:

java - IText 从签名 PDF 中提取原始文件并比较哈希值

Java Spring Web 序列化子类的属性

java - 使用 JSP 和 JavaScript 更新 mysql 表

java - 无法从 HttpServletRequest 中获取内容

java - 我怎样才能使这个程序更快更简单?

java - RediscacheManager 实例,Spring data redis 版本高于 2.0x

java - Easymock:mock正在执行

java - 如何从html :options collections获取选定选项值

java - 从 JSP 向 Servlet 发送文件

java - Swing问题/JTree/自定义树模型