我正在寻找一种为 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/