Ich verwende Struts2-Tags in JSP. Unten ist die Action
Klasse.Wie Sie den Hasmap-Schlüssel und die Wertdaten in separaten Textfeldern von der Aktionsklasse von struts2 framework in JSP drucken?
package com.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
public class EmpLeavePlan extends ActionSupport{
private String bankId;
private String empName;
private String monthYear;
private String leaves;
private Map<String,String> bankIds;
public String display() {
return "SUCESS";
}
public String getDefaultSearchEngine() {
return "yahoo.com";
}
public String execute() throws Exception
{
bankIds = new HashMap<String,String>();
bankIds.put("1541742","h6");
bankIds.put("1541742","eft");
bankIds.put("1394842","dfd");
bankIds.put("1541742","dfee");
return "SUCCESS";}
public String getBankId() {
return bankId;
}
public Map<String, String> getBankIds() {
return bankIds;
}
public void setBankIds(Map<String, String> bankIds) {
this.bankIds = bankIds;
}
public void setBankId(String bankId) {
this.bankId = bankId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getMonthYear() {
return monthYear;
}
public void setMonthYear(String monthYear) {
this.monthYear = monthYear;
}
public String getLeaves() {
return leaves;
}
public void setLeaves(String leaves) {
this.leaves = leaves;
}}
JSP:
<%@ taglib uri="/struts-tags" prefix="s" %>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
var currentDate = new Date();
$("#datepicker").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy'
/* onClose: function(dateText, inst) {
$(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
} */
});
$("#datepicker").datepicker("setDate", currentDate);
});
</script>
<style>
.ui-datepicker-calendar {
display: none;
}
.ui-datepicker-year{
width: 70px !important;
height: 25px;
}
.ui-datepicker-month{
width: 60px !important;
height: 25px;
}
.ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all{
width: 213px !important;
}
</style>
<h1> Leave Plan Management!!! </h1>
<body style="background-color:lightgrey;">
<s:form action="bankgen">
<s:textfield name="monthYear" label="Month/Year" id="datepicker"></s:textfield>
<%-- <s:select label="Select Bank ID"
headerKey="-1" headerValue="Select bank id" list="bankIds"
name="bankIdd" id="bankChange" /> --%>
<s:select label="Select Bank ID"
headerKey="-1" headerValue="Select bank id" list="bankIds"
name="bankId" id="bankChange" />
<s:textfield name="empName" label="Name" id="empName"></s:textfield>
<s:textarea name="leaves" label="Leaves :" id="leaves"></s:textarea>
<s:submit value="save"></s:submit>
</s:form>
</body>
Aber ich bin nicht immer den Ausgang. Im Dropdown sind die Werte allein Reflexion und nicht der Schlüssel, der die Bank-ID ist. Ich möchte, dass die Bank-IDs in der Bank-ID-Spalte und die Schlüsselwerte in der Spalte "Emp-Name" stehen.
Im die URL mit „http Einleitung: // localhost: 8080/Demostruts/selectAction.action "anstelle des direkten Aufrufs von jsp. Ich brauche die Bank-IDs, die in der Dropdown-Liste generiert werden, und den entsprechenden empName, um ein anderes Feld zu generieren. Also, ich habe hashmap benutzt. Im Struts-HTML-Tag gibt es "Liste" -Attribut .. Listenschlüssel und Listenwert. Aber ich bin mir nicht ganz sicher, wie der entsprechende empName im folgenden Feld gedruckt wird. –
Sie werden 'empName' drucken, aber es ist nicht initialisiert. Es wird nicht gedruckt. –
können Sie bitte erklären .. –