Amélioration export
This commit is contained in:
parent
db919b8902
commit
0993140ffd
|
|
@ -30,7 +30,7 @@ public class Export extends HttpServlet {
|
|||
u.chargerPagesPartagees();
|
||||
ArrayList<Page> listePages = u.getListePages();
|
||||
listePages.addAll(u.getListePagesPartagees());
|
||||
|
||||
Page pageToExport;
|
||||
try {
|
||||
int id = Integer.parseInt(idStr);
|
||||
Boolean estDans = false;
|
||||
|
|
@ -46,7 +46,7 @@ public class Export extends HttpServlet {
|
|||
return;
|
||||
}
|
||||
|
||||
Page pageToExport = Page.getPageById(u.getId(), id);
|
||||
pageToExport = Page.getPageById(u.getId(), id);
|
||||
BlocRenderer blocRenderer;
|
||||
PageRender pageRender;
|
||||
String filename;
|
||||
|
|
@ -74,7 +74,7 @@ public class Export extends HttpServlet {
|
|||
return;
|
||||
}
|
||||
|
||||
String exportContent = pageRender.render(blocRenderer, pageToExport.getListeBlocs());
|
||||
String exportContent = pageRender.render(blocRenderer, pageToExport.getListeBlocs(), pageToExport.getTitre());
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
|
||||
response.getWriter().write(exportContent);
|
||||
|
|
|
|||
|
|
@ -3,19 +3,22 @@ package projet;
|
|||
public class HtmlPageRender implements PageRender {
|
||||
|
||||
@Override
|
||||
public String getHeader() {
|
||||
public String getHeader(String titrePage) {
|
||||
return "<!DOCTYPE html>\n"
|
||||
+ "<html>\n"
|
||||
+ "<head>\n"
|
||||
+ "<meta charset=\"UTF-8\">\n"
|
||||
+ "<title>Page</title>\n"
|
||||
+ "</head>\n"
|
||||
+ "<body>\n";
|
||||
+ " <head>\n"
|
||||
+ " <meta charset=\"UTF-8\">\n"
|
||||
+ " <title>" + titrePage + "</title>\n"
|
||||
+ " <script type=\"text/javascript\" async\n"
|
||||
+ " src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"\n>"
|
||||
+ " </script>"
|
||||
+ " </head>\n"
|
||||
+ " <body>\n";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFooter() {
|
||||
return "</body>\n"
|
||||
return " </body>\n"
|
||||
+ "</html>\n";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ package projet;
|
|||
public class LatexPageRender implements PageRender {
|
||||
|
||||
@Override
|
||||
public String getHeader() {
|
||||
public String getHeader(String titrePage) {
|
||||
return "\\documentclass{article}\n"
|
||||
+ "\\usepackage[utf8]{inputenc}\n"
|
||||
+ "\\usepackage{hyperref}\n"
|
||||
+ "\\begin{document}\n";
|
||||
+ "\\begin{document}\n"
|
||||
+ "\\title{" + titrePage + "}\n"
|
||||
+ "\\maketitle\n";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package projet;
|
|||
public class MarkdownPageRender implements PageRender {
|
||||
|
||||
@Override
|
||||
public String getHeader() {
|
||||
public String getHeader(String titrePage) {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -188,11 +188,11 @@ public class Page extends ParamBD {
|
|||
ResultSet rs;
|
||||
try {
|
||||
Connection connexion = DriverManager.getConnection(bdURL, bdLogin, bdPassword);
|
||||
sql = " SELECT titre"
|
||||
sql = " SELECT titre, auteur_id"
|
||||
+ " FROM page"
|
||||
+ " WHERE id=? AND auteur_id = ?"
|
||||
+ " UNION"
|
||||
+ " SELECT titre"
|
||||
+ " SELECT titre, NULL AS auteur_id"
|
||||
+ " FROM partage"
|
||||
+ " JOIN page ON partage.page_id = page.id"
|
||||
+ " WHERE partage.utilisateur_id = ?"
|
||||
|
|
@ -208,6 +208,7 @@ public class Page extends ParamBD {
|
|||
titre = rs.getString("titre");
|
||||
page.titre = titre;
|
||||
page.id = id;
|
||||
page.auteur_id = rs.getInt("auteur_id");
|
||||
}
|
||||
if(titre != null) {
|
||||
sql = " SELECT id, contenu, type, ordre, metadata"
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ import java.util.List;
|
|||
|
||||
public interface PageRender {
|
||||
|
||||
String getHeader();
|
||||
String getHeader(String titrePage);
|
||||
String getFooter();
|
||||
|
||||
default String render(BlocRenderer blocRenderer, List<Bloc> blocs) {
|
||||
default String render(BlocRenderer blocRenderer, List<Bloc> blocs, String titrePage) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(getHeader());
|
||||
sb.append(getHeader(titrePage));
|
||||
for (Bloc bloc : blocs) {
|
||||
sb.append(blocRenderer.render(bloc)).append("\n");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,9 +77,11 @@
|
|||
data-metadata='${bloc.metadata}'
|
||||
>${bloc.contenu}</div>
|
||||
</div>
|
||||
<c:if test="${ page.auteur_id eq utilisateur.id}">
|
||||
<div class="control">
|
||||
<button class="delete is-danger delete-bloc-btn" data-id="${bloc.id}"></button>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue