JSF<;h:选择一个功能表>;valueChangeListener不工作
嗨,我有一个像这样的jsp页面JSF<;h:选择一个功能表>;valueChangeListener不工作,jsf,selectonemenu,valuechangelistener,Jsf,Selectonemenu,Valuechangelistener,嗨,我有一个像这样的jsp页面 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>title</title>
</head>
<body>
<f:view>
<f:loadBundle basename="amdocs.gcreport.messages" var="msg" />
<h:panelGrid columns="1">
<h:outputLabel value="#{msg.environmens}"></h:outputLabel>
</h:panelGrid>
<h:panelGrid columns="1">
<h:selectOneMenu id="selectEnv" value="#{gCAnalyzerController.envName}" onchange="submit();" valueChangeListener="#{gCAnalyzerController.envValueChange}" >
<f:selectItems value="#{gCAnalyzerController.envs}" var="env" itemValue="#{env.name}"/>
</h:selectOneMenu>
</h:panelGrid>
.
.
.
标题
.
.
.
每当我更改这个下拉列表框中的值时,应该在bean类中调用函数envValueChange。然而,当在IE中运行这段代码时,我遇到了异常“Error:objectexpected”,当我尝试在google chrome中调试时,我遇到了以下异常
未捕获引用错误:未定义提交GCAnalyzerView.jsp:15
一旦改变
看起来javascript submit()没有在任何地方定义,因此页面无法加载它,有人能告诉我应该在哪里以及如何实现此javascript方法吗?解决方案由OP提供
代码应包含在表单标签中以供提交
<h:form>
<h:panelGrid columns="1">
<h:outputLabel value="#{msg.environmens}"></h:outputLabel>
</h:panelGrid>
<h:panelGrid columns="1">
<h:selectOneMenu id="selectEnv" value="#{gCAnalyzerController.envName}" onchange="submit();" valueChangeListener="#{gCAnalyzerController.envValueChange}" >
<f:selectItems value="#{gCAnalyzerController.envs}" var="env" itemValue="#{env.name}"/>
</h:selectOneMenu>
</h:panelGrid>
</h:form>
请不要将答案张贴在问题内。只要在时间允许的情况下将其作为答案发布即可(当然,不要在标题中添加“已解决”或其他内容,只需将答案标记为已接受即可)