我有一个JSF commandButton,只需提交一个表单,
<h:form role="form" enctype="multipart/form-data">
....
<h:commandButton id="submit" value="add"
onclick="return validate('submitForm')"
action="#{propertyBean.submit}"
class="btn btn-green btn-lg arabic"
rendered="#{propertyBean.isNew == true}">
</h:commandButton>
</h:form>
该按钮在localhost上工作,但是当我在服务器上部署应用程序时,我收到此错误
HTTP状态404 - /500.shtml
输入状态报告
消息/500.shtml
说明请求的资源不可用。
永远不会调用action方法,因为支持方法会将语句打印为其调用。
答案 0 :(得分:2)
这个问题是双重的。发生HTTP 500错误(通常是因为抛出了异常),因此容器需要显示一个HTTP 500错误页面,在您的情况下显然已注册为/500.shtml
,但容器可能无法找到该文件因而该文件上的HTTP 404错误。
为了找出导致该方法未被调用的问题,您有两个选项:
读取服务器日志以查找异常。
注册一个有效的HTTP 500错误页面,让它打印堆栈跟踪。
一旦掌握了真正的例外,您就可以轻松解决潜在的问题。