Bonjour à tous,
j'ai développer pour mon entreprise une application web qui permet d'afficher des tables présentes sur une base de données Oracle.
ainsi, on peut afficher ces tables, filtrer selon des critères, ajouter des entrées, en éliminer, etc...
bref, comme sous Oracle mais sans avoir à écrire du SQL. Je me suis servi de DisplayTag pour la gestion de l'affichage.
Désormais, je voudrais que d'autres personnes puissent utiliser cette appli. Mais je pensais restreindre les droits à certaines personnes. Tant des droits de fonctionnalités (ajout, suppression, modification) que des droits d'accès aux tables.
Vulgairement, les pages de mon appli sont sectionnées en div.
1 div à gauche de menu (écrit en liste et ré-écrit en intégralité sur chaque page, je ne sais meme pas si c'est optimal)
1 div de contenu qui réagit selon les actions, les servlets.
voici un exemple de JSP et de Servlet pour que vous voyiez à quel point tout est fait main.
div du menu à gauche :
Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 <div class="left"> <a><img src="../img/template2.bmp" width="20" height="18" class="menu_head" />configurazione</a> <ul class="menu_body"> <li><a href="./bankDefault">bank defaults</a></li> <li><a href="./bankParameters">bank parameters</a></li> <li><a href="./bankSourceSystem">bank source system</a></li> <li><a href="./bankVariables">bank variables</a></li> <li><a href="./banks">banks</a></li> <li><a href="./driverTypes">driver types</a></li> <li><a href="./etlJob">ETL job</a></li> <li><a href="./flowType">flow type</a></li> <li><a href="./flowTypeDomainTable">flow type domain table</a></li> <li><a href="./holding">holding</a></li> <li><a href="./holdingVariables">holding variables</a></li> <li><a href="./sourceSystemFiles">source system files</a></li> <li><a href="./sourceSystems">source systems</a></li> <li><a href="./systemStatus">system status</a></li> <li><a href="./tablesHowto">tables howto</a></li> <li><a href="./unloadPeriod">unload period</a></li> <li><a href="./urlConnections">URL connections</a></li> <li><a href="./vieLastSuccessLoad">last success load</a></li> </ul> <br> <a><img src="../img/template2.bmp" width="20" height="18" class="menu_head_dq" />data quality</a> <ul class="menu_body_dq"> <li><a href="./dq">DQ</a></li> <li><a href="./dqContact">DQ contact</a></li> <li><a href="./dqCtrType">DQ CTR type</a></li> <li><a href="./dqMailServer">DQ mail server</a></li> <li><a href="./dqMailing">DQ mailing</a></li> <li><a href="./dqMapping">DQ mapping</a></li> <li><a href="./dqOperationType">DQ operation type</a></li> <li><a href="./dqRuleMailing">DQ rule mailing</a></li> <li><a href="./dqRuleTemplate">DQ rule template</a></li> <li><a href="./dqSeverityLevels"> DQ severity levels</a></li> </ul> <br> <a><img src="../img/template2.bmp" class="menu_head_report" />birt reports</a> <ul class="menu_body_report"> <li><a href="./filtroReport">result</a></li> </ul> </div>
div de contenu au centre:
Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <div class="content"> <form method="post" action="" name="mainForm"> <a href="../"><img alt="Index" src="../img/tornare.bmp" class="img_no"></a> <input type="image" src="../img/eliminare.bmp" value="submit" onClick="this.form.action='CheckboxDeleteEtlJob';"> <input type="image" src="../img/filtrare.bmp" value="submit" onClick="this.form.action='filtroFormEtlJob';"> <input type="image" src="../img/aggiungere.bmp" value="submit" onClick="this.form.action='addFormEtlJob';"> <input type="image" src="../img/reset.bmp"value="submit" onClick="this.form.action='resetEtlJob';"> <input type="image" src="../img/db.bmp" alt="DB" value="submit" onClick="this.form.action='../selectDb';"> <display:table name="sessionScope.liste" pagesize="10" sort="list" decorator="com.servlet.etlJob.MyDeco" export="true" defaultsort="2" defaultorder="ascending"> <display:caption id="contentList">TBL_CFG_ETL_JOB</display:caption> <display:column property="myCheckbox" title="<input name='selectall' type='checkbox' onClick='selectAll(this);'>" /> <display:column property="jobName" title="JOB_NAME" sortable="true" /> <display:column property="jobDirectory" title="JOB_DIRECTORY" sortable="true" /> <display:column property="tableDestination" title="TABLE_DESTINATION" sortable="true" /> <display:column property="environmentDestination" title="ENVIRONMENT DESTINATION" sortable="true" /> <display:column property="flowType" title="FLOW TYPE" sortable="true" /> <display:column property="myDelete" title="" /> <display:column property="myModif" title="" /> </display:table></form> </div>
et voici un bout d'une servlet dans laquelle j'écris en dur le meme menu :
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 out.write("</div>"); out.write("<div class=\"left\">"); out.write("<a><img src=\"../img/template2.bmp\" width=\"20\" height=\"18\" class=\"menu_head\" />configurazione</a>"); out.write("<ul class=\"menu_body\">"); out.write(" <li><a href=\"./bankDefault\">bank defaults</a></li>"); out.write("<li><a href=\"./bankParameters\">bank parameters</a></li>"); out.write(" <li><a href=\"./bankSourceSystem\">bank source system</a></li>"); out.write("<li><a href=\"./bankVariables\">bank variables</a></li>"); out.write("<li><a href=\"./banks\">banks</a></li>"); out.write("<li><a href=\"./driverTypes\">driver types</a></li>"); out.write("<li><a href=\"./etlJob\">ETL job</a></li>"); out.write("<li><a href=\"./flowType\">flow type</a></li>"); out.write("<li><a href=\"./flowTypeDomainTable\">flow type domain table</a></li>"); out.write("<li><a href=\"./holding\">holding</a></li>"); out.write("<li><a href=\"./holdingVariables\">holding variables</a></li>"); out.write("<li><a href=\"./sourceSystemFiles\">source system files</a></li>"); out.write("<li><a href=\"./sourceSystems\">source systems</a></li>"); out.write("<li><a href=\"./filtroFormSystemStatus\">system status</a></li>"); out.write("<li><a href=\"./tablesHowto\">tables howto</a></li>"); out.write("<li><a href=\"./unloadPeriod\">unload period</a></li>"); out.write("<li><a href=\"./urlConnections\">URL connections</a></li>"); out.write("<li><a href=\"./vieLastSuccessLoad\">Last Success Load</a></li>"); out.write("</ul>"); out.write("<br>"); out.write("<a><img src=\"../img/template2.bmp\" width=\"20\" height=\"18\" class=\"menu_head_dq\" />data quality</a>"); out.write("<ul class=\"menu_body_dq\">"); out.write("<li><a href=\"./dq\">DQ</a></li>"); out.write("<li><a href=\"./dqContact\">DQ contact</a></li>"); out.write("<li><a href=\"./dqCtrType\">DQ CTR type</a></li>"); out.write("<li><a href=\"./dqMailServer\">DQ mail server</a></li>"); out.write("<li><a href=\"./dqMailing\">DQ mailing</a></li>"); out.write("<li><a href=\"./dqMapping\">DQ mapping</a></li>"); out.write("<li><a href=\"./dqOperationType\">DQ operation type</a></li>"); out.write("<li><a href=\"./dqRuleMailing\">DQ rule mailing</a></li>"); out.write("<li><a href=\"./dqRuleTemplate\">DQ rule template</a></li>"); out.write("<li><a href=\"./dqSeverityLevels\">DQ severity levels</a></li>"); out.write("</ul>"); out.write("<br>"); out.write("<a><img src=\"../img/template2.bmp\" class=\"menu_head_report\" />birt reports</a>"); out.write("<ul class=\"menu_body_report\">"); out.write("<li><a href=\"./filtroReport\">result</a></li>"); out.write("</ul>"); out.write("</div>");
Bref, j'imaginais changer le css selon l'user avec des display:none en vrac
Mais j'ai vraiment l'impression que c'est une erreur.
Je suis à l'écoute de toute vos suggestions.
Merci d'avance
Partager