Selectbox Problem in JSP

Status
Nicht offen für weitere Antworten.

Athro

Mitglied
Hallo,
ich habe in einer JSP eine Selectbox , die eine Liste von Elemente Zeigen sollte.
Wenn der User ein Element von der Liste auswählt, soll es eine Action auslösen.
Code:
<html:form styleClass="displayInline" method="get"
		action="/meinAction.do"
		onsubmit="if(returnTaste==1)return false;">
<logic:notEmpty name="MeinForm" property="MeineListe">
<html:select styleClass="aaaa" name="MeinForm"  property="meinProp" onchange="submit()">
<html:options styleClass="aaaa" name="meinForm" property="MeineListe" /> 
</html:select>
<html:hidden property='selected' value='meinWert' />
</logic:notEmpty>
<logic:empty name=" MeinForm " property=" MeineListe ">
<select class="aaaa" onclick="submit()" disabled>
</select>
</logic:empty>
</html:form>

Es funktioniert für alle Elemente der gezeigten Liste, aber beim klicken des ersten Attributes funktioniert es nicht.

Damit ich das erste Element auswählen kann, muss ich ein andres Attribut auswählen und dann das erste Attribut!

Hätte die Liste nur einen Element, wird kein (Event) erzeugt

Ich könnte das erste Element der Liste mit Lehrstring setzen, aber das möchte ich nicht :noe: , denn der User soll sehen, dass die Liste nicht Lehr ist.

Hat jemand eine Idee

Vielen Dank
 

HLX

Top Contributor
Wozu sollte auch ein Event erzeugt werden, wenn der dargestellte Wert bereits der aktuelle ist. Der angezeigte Wert bezieht sich ja auf die bestehende Maske.

Wenn du bei jedem Anwählen eines Items einen Event erzeugen möchtest verwende onClick statt onChange.
 

dajos7

Aktives Mitglied
versuch mal onchange

und für die vorinitialisierung sollte man im body tag das gewünschte Prozedere in onload einmal aufrufen.
 

Athro

Mitglied
ich benutzte Das Frame Work Struts und in der JSP include folgende Libs:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
 

dajos7

Aktives Mitglied
hallo, sorry wegen eben habs etwas falsch verstanden. Ich hab mir das jetzt mal angeschaut und es in einem Tomcat 6.0 mit java 1.6 und struts 1.3.8 nachgebildet.

onclick wird hier bei mir auch als valid angegeben. das problem, das ich allerding habe ist, dass er es nun bei jedem click direkt submitted, ohne dass ich in der lage bin andere values auszuwählen, also das onclick wird da glaub ich auch nicht wirklich die Lösung sein. Normal muss man den User zum auswählen Zwingen, was man wie schon erwähnt mit einem leeren Feld erreicht. Ist das so schlimm, wenn da steht "Bitte wählen"?



Der Code:
Ich habe es etwas abgeändert, damit es bei mir läuft. Ich habe allerdings den Verdacht, dass er meinForm in deinem options Tag und MeinForm in deinem select Tag nicht wirklich auseinanderhalten kann, bei mir wirft er da eine Exception.

JSP
Code:
<%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic" prefix="logic" %>


<html>
<head>
<title></title>
</head>
<body>

<html:form styleId="meinForm" method="get" action="/meinAction">
<logic:notEmpty name="meinForm" property="list">
<html:select name="meinForm"  property="selectedListItem" onchange="submit()">
<html:optionsCollection name="meinForm" property="list" />
</html:select>
<html:hidden property="selected" value="meinWert" />
</logic:notEmpty>
<logic:empty name="meinForm" property="list">
<select onclick="submit()" disabled>
</select>
</logic:empty>
</html:form>
</body>

</html>

Action
Code:
package de.server.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import de.server.struts.form.MeinForm;

public class MeinAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		MeinForm mf = (MeinForm)form;
		
		System.out.println("Called action "+mf.getSelected() + " "+mf.getSelectedListItem());
		
		return super.execute(mapping, form, request, response);
	}
}


Form
Code:
package de.server.struts.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.LabelValueBean;

public class MeinForm extends ActionForm {

	

	private static final long serialVersionUID = -6309808242870816258L;
	
	private String selectedListItem = "";
	private LabelValueBean[] list = new LabelValueBean[5];
	private String selected = "";


	@Override
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		
		list[0] = new LabelValueBean("Test","test");
		list[1] = new LabelValueBean("Test1","test1");
		list[2] = new LabelValueBean("Test2","test2");
		list[3] = new LabelValueBean("Test3","test3");
		list[4] = new LabelValueBean("Test4","test4");
		
		
	}
	
	
	@Override
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		// TODO Auto-generated method stub
		return super.validate(mapping, request);
	}


	public LabelValueBean[] getList() {
		return list;
	}


	public void setList(LabelValueBean[] list) {
		this.list = list;
	}


	public String getSelected() {
		return selected;
	}


	public void setSelected(String selected) {
		this.selected = selected;
	}


	public String getSelectedListItem() {
		return selectedListItem;
	}


	public void setSelectedListItem(String selectedListItem) {
		this.selectedListItem = selectedListItem;
	}
	
}
 

Athro

Mitglied
Hallo dajos7
dajos7 hat gesagt.:
Normal muss man den User zum auswählen Zwingen, was man wie schon erwähnt mit einem leeren Feld erreicht. Ist das so schlimm, wenn da steht "Bitte wählen"?
[/code]
Nein ist nicht so schlimm aber wie ich sagte ich finde es nicht schön.
Wenn keine andre Lösung gibt dann mache ich einfach so.

Danke noch mal
 

dajos7

Aktives Mitglied
Vlt geht aber auch das hier ?

Ich habe es mal nur auf das Javascript beschränkt. Wenn Du einfach die size erhöhst? Dann sind die Elemente immer angezeigt und es ist nichts vorausgewählt. wenn man dann ein Element auswählt, führt er das javascript immer aus auch beim ersten mal. Ok es ist keine Combobox mehr, aber es geht :)

Code:
<html>
<head>
<title></title>
</head>
<body>

<select id="select" size=6  onchange="javascript:alert(''+document.getElementById('select').options[document.getElementById('select').selectedIndex].value);">
<option value="1">lala</option>
<option value="2">lala2</option>
<option value="3">lala3</option>
<option value="4">lala4</option>
</select>


</body>

</html>
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Selectbox nach klick submit Web Tier 1
S AJAX/RestController Post Problem Web Tier 18
pkm Problem beim Import eines dynamischen Webprojekts als .zip Web Tier 2
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
F JSF preRenderView Problem Web Tier 0
J Funktion für AJAX - Problem mit Return Web Tier 14
S Problem mit Checkboxen im Servlet erkennen Web Tier 3
N JSF JSF Selected Item & GesBetrag Problem Web Tier 1
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Problem mit Primefaces Web Tier 7
F JSF Problem mit Primefaces Web Tier 4
F JSP Problem mit Property Web Tier 0
D Java EE Servlet login Problem Web Tier 1
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
T JSF Character Encoding Problem Web Tier 2
T JSF Problem mit JSF und Foreign Key Tabellen Web Tier 8
H JSF Problem mit Converter Web Tier 2
M Zeichensatz Problem? Web Tier 3
T JSF Problem wenn Session abgelaufen ist Web Tier 6
K JSF websphere application server 8 tomahawk problem Unable to find resource Web Tier 3
D JSF RichFaces Tree-Beispiel Problem Web Tier 2
J JSF Problem mit Bearbeiten von Datensätzen Web Tier 7
M JSF Problem mit CSS und Unterverzeichnissen Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
P Servlet getWidth(); - getHight(); Problem Web Tier 3
J JSP Problem bei Hibernate mit JSP Web Tier 2
M JSF mit Tobago Problem: ServletContextListener Web Tier 5
J Facelets javascript compiler problem Web Tier 3
T Tomcat mit Servlets Problem Web Tier 7
T Servlet Problem bei gwt rpc Web Tier 7
S Servlet Problem mit Tomcat Web Tier 3
J JSF Kein Methodenaufruf mit Button möglich durch PhaseListener (redirect) Problem? Web Tier 2
P rich:panelMenuGroup --> expanded Parameter Problem Web Tier 3
F.S.WhiTeY Tmplating/CSS Problem bei JSF Web Tier 7
A ice:inputText Converter Problem Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
R JSF JSF Composite Components: Problem mit Attributliste und Referenzierung Web Tier 2
M Problem mit Hibernate und GWT Web Tier 6
O JSP struts2 tag: Problem mit Dezimalzahlen Web Tier 2
P Struts Struts2 if tag Problem mit getText() Web Tier 3
B Java EE 6 Problem (EL) Web Tier 4
ruutaiokwu beanshell scope problem... Web Tier 7
P Problem mit HTML.Tag.OPTION Web Tier 3
N Problem mit Datei Streaming Web Tier 2
M Problem mit Verlinkung JSP Dynamische Tabelle Web Tier 7
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
F.S.WhiTeY JSF:org.apache.jasper.JasperException Problem Web Tier 2
H Richfaces - Taglib Problem gelb unterstrichen Ajax Output Web Tier 6
N Servlet: Problem mit getParameterValues Web Tier 4
7 Struts und Ajax. Problem mit Actions Web Tier 2
J GWT - RPC Problem Web Tier 6
F Problem mit JSF Anwendung Web Tier 9
I Logout - Problem => Bei Zurück Web Tier 2
I AJAX - Problem Web Tier 18
F Problem mit Struts Web Tier 2
I selectOneMenu - Problem Web Tier 6
H Firefox Background-Image Problem Web Tier 4
E GWT Server-Client Problem Web Tier 3
J Log4j problem Web Tier 7
F Problem mit der Methode request.getRemotePort() Web Tier 2
S GWT Problem Web Tier 4
M Problem mit Velocity Web Tier 2
S OSGi Bundle Problem - ClassNotFound Web Tier 4
J JSF Locales Problem Web Tier 3
J Problem mit Login Web Tier 4
MQue jsp- Problem Web Tier 4
P Problem der Parameterübergabe aus Iframe Web Tier 15
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
R JSF <rich:datatable> problem Web Tier 4
S JSF Problem - Terminverwaltung - Ändern eines vorhandenen Termins Web Tier 2
S Filter Problem? Web Tier 6
E Problem mit t:saveState Web Tier 7
S Problem mit Anzeige zweier JSP's Web Tier 4
M Problem mit JSP und Bean Web Tier 2
F RichFaces, Problem mit PickList Web Tier 2
S Problem mit Servlet und Zugriff auf Orace XE Datenbank Web Tier 2
E Problem mit request.getParameter Web Tier 5
B getServletContext.getRealPath("/") Problem Web Tier 6
C Problem mit Hibernate und IceFaces Web Tier 2
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
H problem bei Parameterübergabe mit beans Web Tier 3
U JSP form-Daten (ohne name-Attribut) an Servlet = Problem Web Tier 6
S jsf: übles problem mit <f:convertDateTime> Hilfe! Web Tier 2
T Problem bei Session-Timeout Web Tier 3
S problem mit resultset Web Tier 6
U Problem bei Validierung mit Struts 2 Web Tier 1
A JSF-Ctrl h:inputText Problem mit Umlauten Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben