2010-11-04 4 views
0

J'utilise java (Struts 1.2). Ma première page est une page de connexion. Après une connexion réussie, la deuxième page est affichée La deuxième page contient un formulaire dans lequel l'un des champs est une zone de liste déroulante. Je veux que cette zone de liste déroulante doit être remplie pour que l'utilisateur puisse sélectionner l'option.Java -Struts 1.2 question combobox

J'ai essayé plusieurs méthodes, comme l'utilisation des collections html: option, et html: optionsCollections etc. mais elle montre des erreurs comme le bean non trouvé.

Est-ce que n'importe quel corps peut me donner un exemple de code de travail?

Merci

+0

Où obtenez-vous les valeurs pour remplir la liste déroulante? La base de données? Une liste littérale? –

+0

Une liste littérale. – pradeep

+0

Avez-vous essayé Google? Afin de vous aider, j'ai besoin de voir ce que la logique va de la connexion à l'affichage (et quelles actions sont appelées). –

Répondre

0
<% 
List< LabelValueBean> hourList = new ArrayList<LabelValueBean>(); 
pageContext.setAttribute("hourList", hourList); 
%> 

<html:select property="endhour"> 
    <html:options collection="hourList" property="value" labelProperty="label" /> 
<html:select> 

La propriété en html: sélectionnez est celui de votre formulaire qui sera rempli lorsque l'utilisateur sélectionne quelque chose dans la liste déroulante.

--- désolé ne pouvait pas le formater pour montrer clairement le code

+0

Où je dois écrire ce code dans la classe d'action du formulaire de connexion (page précédente) ou la classe d'action de la page jsp dans laquelle la zone de liste déroulante sera affichée. J'ai essayé en écrivant le code dans la classe d'action de la page précédente mais quand j'utilise l'attribut say hourList dans la page suivante il montre l'erreur comme le haricot non trouvé – pradeep

+0

le code devrait être écrit dans votre JSP. Si vous regardez cela, vous pouvez voir que c'est un scriptlet. La hourList (ArrayList Object) doit provenir de votre bean peut-être de votre session ou utiliser le code ci-dessus et remplir le hourList. Indépendamment de la première page (comme vous avez dit la page de connexion), vous devez remplir vos haricots pour préparer la page suivante. – mezzie

0

L'utilisation de la balise html nécessaire pour être en html: forme et que les deux doivent avoir un haricot associé, vous configurez dans struts.xml .

<form-beans> 
    <form-bean name="LoginForm" 
     type="struts.forms.LoginForm" /> 
</form-beans> 

<action name="LoginForm" path="/logon" type="common.Logon" 
     parameter="cmd"> 
     <forward name="error" path="/html/login/login.jsp?login_error=1" /> 
     <forward name="success" path="/login.do" />    
</action> 
0

Ce que je peux vous dire est ceci:

  • Une fois connecté avec succès (par votre LoginAction dans cet exemple), laissez votre action avant à une autre action qui va peupler votre liste.
  • Peupler votre liste et l'enregistrer dans la demande (comme si, request.setAttribute("contents", list). Maintenant, avant votre page dans un fichier JSP.
  • Sur le fichier JSP, vous devrez lire votre contents (comme stocké dans request.setAttribute méthode) et faire quelque chose de cet effet:

Exemple:.

<html:select property="selectedValue"> 
    <html:options name="contents" /> 
</html:select> 

Plus d'informations sur Struts HTML TagLib