Je suis en train de concevoir un framework CRUD simple en Java, où dans ma page HTML j'ai un formulaire dynamique (2 avec multipart pour create et update avec file upload et 1 sans fileupload et multipart pour delete). Côté serveur, un modulateur de requête vérifie tous les paramètres à l'aide de request.getParameterMap();
et les contrôles de cette entrée de type caché <input type="hidden" name="returntype" value="Create">
qu'il s'agisse d'une opération de création, de mise à jour ou de suppression. En fonction de cela, il appellera les gestionnaires nécessaires.
Note : L'enctype et l'encodage de mon formulaire sont réglés sur multipart/form-data Note : Mon paramMap.size() renvoie 0 ici et returnType obtient null et donc je reçois une exception de pointeur nul.
Si je n'utilise pas du tout l'enctype et l'encodage, tout se passe bien, mais une fois de plus, mon téléchargement de fichier me donne une exception indiquant que le type d'encodage devrait être multipart/form-data . Est-ce que quelqu'un peut m'aider à avoir un formulaire dynamique avec lequel je peux créer un CRUD ? ou pourquoi ne puis-je pas utiliser le formulaire dynamique ? request.getParameterMap();
avec multipart/form-data Merci :)
Voici le code du modulateur de demande
public String identifyNow()throws ServletException, java.io.IOException
{
UploadXmlAgent uploadAgent;
paramMap=request.getParameterMap();
if (paramMap == null)
throw new ServletException(
"getParameterMap returned null in: " + getClass().getName());
iterator=paramMap.entrySet().iterator();
System.out.println(paramMap.size());
while(iterator.hasNext())
{
Map.Entry me=(Map.Entry)iterator.next();
if(me.getKey().equals("returntype"))
{
String[] arr=(String[])me.getValue();
returnType=arr[0];
}
}
//Identified based on returnType, instantiate appropriate Handler
if(returnType.equals("Create"))
{
uploadAgent=new UploadXmlAgent(realPath,request,paramMap);
uploadAgent.retrieveXml();
//SOME MORE OPERATIONS
return uploadAgent.uploadXml();
}
else if(returnType.equals("Update"))
{
System.out.println("Update");
uploadAgent=new UploadXmlAgent(realPath,request,paramMap);
uploadAgent.retrieveXml();
//SOME MORE OPERATIONS
return uploadAgent.uploadXml();
}
else if(returnType.equals("Delete"))
{
//SOME OPERATIONS
}
return returnType;
}