Bonjour,
je me heurte à un pb de base qui le rend "unavailable". L'erreur doit provenir :
- soit d'un manque de définition dans mon portlet.xml
- soit d'un probleme de définition au niveau des paramètres de mes méthodes doView(renderRequest...) et checkParameters(ActionRequest...)
Mon java est le suivant :
Code:
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 package debug2; import java.io.*; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.PortletException; import javax.portlet.PortletRequestDispatcher; import javax.portlet.RenderRequest; import javax.portlet.*; /** * * A sample portlet based on GenericPortlet * */ public class Debug2Portlet extends GenericPortlet { public static final String VIEW_JSP = "Debug2_view"; // JSP file name to be rendered on the view mode public static final String JSP_FOLDER = "/Debug2/jsp/"; // JSP folder name /** * Serve up the <code>view</code> mode. * * @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse) */ public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { // Invoke the JSP to render // J'indique le chemin du fichier et ne considère pas les fichiers PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/Debug2/jsp/html/Debug2_view.jsp"); rd.include(request,response); } // * Méthode relative à notre application d'upload public void checkParameters(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException{ boolean valid = true; // * on attend que l'utilisateur valide ses entrées avant de les lire if(request.getParameter("s") != null) { try { String o = ""; if(request.getParameter("s").equalsIgnoreCase("Send") || request.getParameter("s").equalsIgnoreCase("Envoyer")) { //* lecture du parametre objet si non nul et non vide if(request.getParameter("o")!=null && !request.getParameter("o").equalsIgnoreCase("")){ o = request.getParameter("o"); } //* sinon on passe la variable valid à fausse else {valid=false; } } //* si une erreur se produit on passe la variable valid à fausse }catch(Exception e){valid=false;} } if(valid) { // si valid est vraie, on stocke la chaine "OK" dans l'attribut flag de la réponse try{ response.setRenderParameter("flag","OK"); response.setRenderParameter("s","Send"); } //* si une erreur se produit, on stocke la chaine "NOK" dans l'attribut flag de la réponse catch(Exception e){ response.setRenderParameter("flag","NOK"); response.setRenderParameter("s","noSend"); } } else{ //* si valid n'est pas vrai, on stocke la chaine "NOK" dans l'attribut flag de la réponse response.setRenderParameter("flag","NOK"); response.setRenderParameter("s","noSend"); } } }
Mon JSP est le suivant :
Code:
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 <%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" session="false"%> <portletAPI:init /> <%try { //build message regarding to parameter flag if(request.getParameter("flag") != null) { if(request.getParameter("flag").equalsIgnoreCase("OK")) { // tout se déroule bien, un récapitulatif va s'afficher avant l'envoi définitif %>Tout est ok<%// boutons d'action Envoyer ou Modifier }%><%else{%>Il y a une erreur dans la saisie de l objet<%}%> <%}%> <%}%> <%catch(Exception e){%>Il y a une erreur<%}%> <div id="upload_form"> <div class="wps-portlet-std-titlebar"> <h2>Hub fournisseur</h2> <ul> <li><a class="fir-skip" href=""><span>Configurer</span></a></li> <li><a class="fir-edit" href=""><span>Editer</span></a></li> <li><a class="fir-help" href=""><span>Aide</span></a></li> </ul> </div> <div class="wps-portlet-std-content"> <h3>Mon Fournisseur</h3> <p><a class="icon upload" href="#">Upload a File</a></p> <form action="<portlet:actionURL windowState="normal"></portlet:actionURL>" method="get" enctype="multipart/form-data"> <fieldset> <legend>Your Files</legend> <dl> <dt><label class="frm-mandatory" for="request_object" title="This field is mandatory">Object (required)</label></dt> <dd><input id="request_object" name="o" size="50" value="" type="text" class="frm-mandatory"></dd> <dt><label for="request_description">Description</label></dt> <dd><textarea id="request_description" name="d" cols="50" rows="5"></textarea></dd> <dt><label class="frm-mandatory" for="request_file_00" title="This field is mandatory">Files (required)</label></dt> <dd> <input id="request_file_00" name="f_00" type="file" class="frm-mandatory"> <a class="icon-attachment action" href="#">Attach another file</a> </dd> <dd> <input id="request_file_01" name="f_01" type="file"> </dd> <dd> <input id="request_file_02" name="f_02" type="file"> </dd> <dd> <input id="request_file_03" name="f_03" type="file"> </dd> <dd> <input id="request_file_04" name="f_04" type="file"> </dd> </dl> </fieldset> <fieldset> <legend>Notifications</legend> <dl> <dt><label class="frm-mandatory" for="request_recipient" title="This field is mandatory"><em>Notify a .............. Team s Contact</em> or ask for <a class="icon help" href="#">Help</a></label></dt> <dd> <textarea id="request_recipient" name="r" cols="50" rows="5" class="frm-mandatory">Write only one e-mail address per line.</textarea> </dd> </dl> </fieldset> </form> <p><input id="submit" name="s" value="Send" type="submit"> or <a class="action" href="#">Cancel</a></p> </div> </div>
Merci pour vos suggestions et aides precieuses
Attila