Voici une petite application de test qui fait des choses suivantesStruts2 avec s: tag d'action
- demander à l'utilisateur d'entrer son nom et de soumettre - (index.jsp)
- en raison de index.jsp est la page welcome.jsp qui demande à l'utilisateur de choisir son/son groupe sanguin
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> </head>
<body>
<form action="MyName">
<s:textfield name="UserName" label="Enter Your Name"/>
<s:submit/>
</form><br>
</body>
</html>
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="module1" namespace="" extends="struts-default">
<action name="MyName" class="module1.User">
<result>/Welcome.jsp</result>
</action>
<action name="Blood_Group" class="module1.SelectBloodGroup" method="bloodGroupList"/>
</package>
</struts>
SelectBloodGroup.java
package module1;
import java.util.ArrayList;
import com.opensymphony.xwork2.ActionSupport;
public class SelectBloodGroup extends ActionSupport{
private ArrayList<BloodGroup> bglist;
public String bloodGroupList(){
bglist = new ArrayList<BloodGroup>();
bglist.add(new BloodGroup("1","A+"));
bglist.add(new BloodGroup("2","B+"));
bglist.add(new BloodGroup("3","AB+"));
bglist.add(new BloodGroup("4","O+"));
bglist.add(new BloodGroup("5","A-"));
bglist.add(new BloodGroup("6","B-"));
bglist.add(new BloodGroup("7","AB-"));
bglist.add(new BloodGroup("8","O-"));
return "SUCCESS";
}
public ArrayList<BloodGroup> getBglist(){
return bglist;
}
}
class BloodGroup{
private String id;
private String bg;
BloodGroup(String id,String bg){
this.id=id;
this.bg=bg;
}
}
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:action name="Blood_Group" executeResult="false"/>
//***************here is the problem***************
<s:select list="bglist" listKey="id" listValue="bg"/>
//***********************************************
</body>
</html>
Struts est incapable d'identifier bglist
comme une collection ou Array Liste ou iterator. QUE DOIS-JE ATTRIBUER A LA LIST ATTRIBUER DANS LE s: sélectionnez TAG DANS LE FICHIER welcome.jsp
Quel est le problème avec le code s'il vous plaît dites-moi en détail. Si vous pouviez m'envoyer la version corrigée. POURQUOI L'Étiquette <s:action>
ne fonctionne pas?
C'est l'erreur que je reçois
13 avril 2010 13:49:19 org.apache.catalina.core.ApplicationDispatcher invoquez GRAVES: Servlet.service() pour servlet jsp jeté exception tag 'select', champ 'list': La clé de liste 'bglist' demandée n'a pas pu être résolue en tant que collection/array/map/enumeration/itérateur type. . Exemple: les gens ou les gens {name} - [lieu inconnu]