Java 实施<;sj:选择/>;在Struts2中
我目前正在处理一个项目,我的应用程序中有多个选择框,每个值都应根据第一个列表中选择的前一个值进行更改,这是我的代码,我没有得到第二个选择列表 这是我的jspJava 实施<;sj:选择/>;在Struts2中,java,jsp,struts2,struts2-jquery,struts2-jquery-plugin,Java,Jsp,Struts2,Struts2 Jquery,Struts2 Jquery Plugin,我目前正在处理一个项目,我的应用程序中有多个选择框,每个值都应根据第一个列表中选择的前一个值进行更改,这是我的代码,我没有得到第二个选择列表 这是我的jsp 选择建筑: 区块: 这是我的struts.xml 这是我的java操作类,用于第二个选定列表 package hart.hospitalManagement; import hart.bean.HospitalFloor; import hart.profilemanagement.DoctorRegistrationHelper
选择建筑:
区块:
这是我的struts.xml
这是我的java操作类,用于第二个选定列表
package hart.hospitalManagement;
import hart.bean.HospitalFloor;
import hart.profilemanagement.DoctorRegistrationHelper;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
public class HospitalBlockListForFloorAction extends ActionSupport {
private Map<String, String> block;
private String buildingName;
private HospitalFloor hospitalfloor;
public Map<String, String> getBlock() {
return block;
}
public void setBlock(Map<String, String> block) {
this.block = block;
}
public String getBuildingName() {
return buildingName;
}
public void setBuildingName(String buildingName) {
this.buildingName = buildingName;
}
public String setBlockListForFloor()
{
HospitalFloorManagementHelper hospitalFloorManagementHelper=new HospitalFloorManagementHelper();
block=hospitalFloorManagementHelper.getBlockListForFloor(buildingName);
System.out.println("building Name are"+buildingName);
System.out.println("block list are"+block);
return SUCCESS;
}
public String getJSON()
{
return setBlockListForFloor();
}
}
但我无法获得第二个选定列表,请有人可以帮助我吗?我是struts2的新手。您的代码非常混乱。请记住:
block
和操作中的hospitalfloor
都缺少它们bean
属性在任何地方定义,而在JSP页面中您多次引用它(bean.state
,bean.country
等)
的特定情况下,不要在表单本身中放置操作
属性,因为您已经从
的href
属性指定了操作url:
public Map<String, String> getBlockListForFloor(String buildingName)
{
int buildingId=0;
Map<String, String> block=new HashMap<>();
DbConnect db=new DbConnect();
Connection con=db.returnConnection();
try
{
Statement stmt1=con.createStatement();
Statement stmt2=con.createStatement();
ResultSet rs1=stmt1.executeQuery("select buildingId from hospital_building where buildingName='"+buildingName+"'");
while(rs1.next())
{
buildingId=rs1.getInt("buildingId");
}
ResultSet rs2=stmt2.executeQuery("select blockName from hospital_block where buildingId='"+buildingId+"'");
while(rs2.next())
{
block.put(rs1.getString("blockName"), rs1.getString("blockName"));
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
db.closeConnection(con);
}
return block;
}
}
private String buildingName;
private String block;
public String getBuildingName() {
return buildingName;
}
public void setBuildingName(String buildingName) {
this.buildingName = buildingName;
}