- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然我爬过了these four SO questions ,当我在我的 servlet 中创建的第一个 JSF 页面被调用时,我仍然只得到一个空白页面。它通过 IntelliJ IDEA 部署在 Tomcat 7 服务器上。在错误日志级别“全部”上,我没有收到任何错误消息。浏览器中的源代码完全是空的。似乎没有调用 FacesServlet,但在我看来,这不可能是因为 url 映射,我觉得没问题!??还有其他的可能性吗,比如查看错误日志?
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<context-param>
<param-name>incomingURLs</param-name>
<param-value>http://localhost:8080,http://localhost:63342,https://localhost:63342</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_VIEW_MAPPINGS</param-name>
<param-value>*.xhtml</param-value>
</context-param>
<servlet>
<servlet-name>Diagapp</servlet-name>
<servlet-class>com.brainsee.diagapp.DispatcherServlet</servlet-class>
<multipart-config>
<location>/tmp</location>
<max-file-size>20848820</max-file-size>
<max-request-size>418018841</max-request-size>
<file-size-threshold>1048576</file-size-threshold>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>Diagapp</servlet-name>
<url-pattern>/diagapp</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Logoff</servlet-name>
<servlet-class>com.brainsee.diagapp.Logoff</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Logoff</servlet-name>
<url-pattern>/logoff</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.brainsee.diagapp.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/diagapp/admin</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
诊断编辑器.xhtml:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Diagnoseeditor</title>
</h:head>
<h:body>
<h3>Diagnosen</h3>
<h:form rendered="#{not empty diagnosisBean.list}">
<h:dataTable value="#{diagnosisBean.list}" var="diagnosis">
<h:column><f:facet name="header">ID</f:facet>#{diagnosis.id}</h:column>
<h:column><f:facet name="header">Text</f:facet>#{diagnosis.text}</h:column>
<h:column><f:facet name="header">Alternativname</f:facet>#{diagnosis.altname}</h:column>
<h:column><f:facet name="header">2. Alternativname</f:facet>#{diagnosis.altname2}</h:column>
<h:column><f:facet name="header">ICD-10</f:facet>#{diagnosis.icd10}</h:column>
<h:column><f:facet name="header">Alpha-ID</f:facet>#{diagnosis.alphaid}</h:column>
<h:column><h:commandButton value="edit" action="#{diagnosisBean.edit(diagnosis)}" /></h:column>
<h:column><h:commandButton value="delete" action="#{diagnosisBean.delete(diagnosis)}" /></h:column>
</h:dataTable>
</h:form>
<h:panelGroup rendered="#{empty diagnosisBean.list}">
<p>Table is empty! Please add new diagnoses.</p>
</h:panelGroup>
<h:panelGroup rendered="#{!diagnosisBean.edited}">
<h3>Add diagnosis</h3>
<h:form>
<p>Value: <h:inputText value="#{diagnosisBean.diagnosis.value}" /></p>
<p><h:commandButton value="add" action="#{diagnosisBean.add}" /></p>
</h:form>
</h:panelGroup>
<h:panelGroup rendered="#{diagnosisBean.edited}">
<h3>Edit diagnosis #{diagnosisBean.diagnosis.id}</h3>
<h:form>
<p>Value: <h:inputText value="#{diagnosisBean.diagnosis.value}" /></p>
<p><h:commandButton value="save" action="#{diagnosisBean.save}" /></p>
</h:form>
</h:panelGroup>
</h:body>
</html>
它在我的 DispatcherServlet 中调用
response.sendRedirect("admin/diagnosesedit.xhtml");
来自同一目录中的 jsp 文件。
WEB-INF/faces-config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<managed-bean>
<managed-bean-name>diagnosisBean</managed-bean-name>
<managed-bean-class>com.brainsee.diagapp.beans.DiagnosisBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
诊断Bean:
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import java.io.Serializable;
import java.util.List;
@ManagedBean
@ViewScoped
public class DiagnosisBean implements Serializable {
private List<Diagnosis> list;
private Diagnosis diagnosis = new Diagnosis();
private boolean edited;
@PostConstruct
public void init() {
list = DiagnosisDAO.getAll();
}
public void add() {
DiagnosisDAO.insert(diagnosis);
diagnosis = new Diagnosis();
}
public void edit(Diagnosis diagnosis) {
this.diagnosis = diagnosis;
edited = true;
}
public void save() {
DiagnosisDAO.update(diagnosis);
diagnosis = new Diagnosis();
edited = false;
}
public void delete(Diagnosis diagnosis) {
DiagnosisDAO.delete(diagnosis);
}
public List<Diagnosis> getList() {
return list;
}
public Diagnosis getDiagnosis() {
return diagnosis;
}
public boolean isEdited() {
return edited;
}
}
在我的依赖项中,Mojarra-1.2 和 javax.faces:javax-faces-api:2.2 包含在“提供”范围内(将其更改为“编译”不会改变任何内容)。
最佳答案
....ARRRRGH 刚刚查看了 great JSF wiki并看到我正在使用 Servlet 3.0 功能,但将过时的 Mojarra-1.2 作为库。更新了库,voilà,它工作了。所以 RTFM :)
关于在 Tomcat 7 上首次测试时从 Servlet 空白调用的 JSF 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33347214/
NHibernate version: 3.3.2. 我有一个包含多个操作的 NHibernate 事务。作为事务中的中间步骤之一,我尝试通过 Session.Save 插入一个具有自动增量 PK 的
请参阅我有一个具有多个值的 HashSet,该值可以包含例如 4141234567 、 4241234567 _0x10456790719 4141234567 _0x104567907907 和 _
我有一个 javafx 应用程序,我有一个主界面,我可以在其中设置我的舞台并启动该应用程序。我还有一个 Controller 类: public class Controller { @
我正在编写一个与 Web 服务集成的 iPhone 应用程序。我将从网络服务获取数据并用它填充表格 View 。我的问题:当用户滚动表格 View 时,我希望从 Web 服务动态加载更多数据并填充表格
我有以下结构: PreProd > Variables.tf 具有: variable "vms" { default = [ { "hostname" : "Monitor0
我下面有一个 Shiny 的应用程序,它显示绘图或表格。我对表格不感兴趣,我的问题只涉及 plotly 部分。当我使用此 javascript solution 在浏览器中打开应用程序时,我尝试下载该
我目前正在学习如何在 Java 中使用 Swing。将 JTextFields、JLabels 或 JButtons 添加到 JPanel 时,我通常用 4 行来完成,如下所示: gbc.gridx
我有一个名为 TabView 的自定义 UIView 类。每个 TabView 中都有 2 个标签以及一些其他元素。我使用界面生成器将这些标签添加到 TabView 中。在将 TabViews 作为
class A{ private List list; // getter setter public class B{ @command public void dele
当计时器达到零时,我试图从 Pane 中删除元素,更具体地说是标签和文本区域。但是,当计时器达到 0 并且我调用此方法时,我收到此异常。 Exception in thread "AWT-EventQ
使用 LINQ 时我应该从 WCF 服务返回什么?例如: var res = from q in context.cust select q; LINQ 遵循延迟执行,因此语句在运
我有一个计时器,可以在 GameScene.swift 文件中启动/重置,但是当应用程序在通话期间最小化或按下主页按钮时,它会继续运行。如何停止计时器并在应用程序再次处于事件状态时继续计时器? if
我有以下 Java 程序,但我不想在最后一个元素之后分配“,”,怎么办? String range = "400-450"; Integer startRange = null;
我正在使用 SAX 来解析一些 XML。在我的处理程序中 startElement()方法我正在尝试读取名为 xsi:type 的属性的值,例如: String type = attributes.g
我正在从事一个项目,该项目必须将数据从 Excel 文件导入和导出到数据库等。我必须从数据库获取数据,然后。但是如何根据 id、电话号码、用户名检查 excel 文件中的数据是否不重复。这是读取exc
我需要 Hook 程序的日志记录功能并获取它的日志记录参数,它使用 sqlite3_prepare_v2 -> sqlite3_bind_xxx -> sqlite3_step 函数。我想知道是否有可
您好,我正在尝试创建一个画笔,但我在使用 SelectObject 这行代码时遇到了问题: Brush_C = SelectObject(hdc_TS, hBrush); 错误是这样的: line 2
我正在尝试制作一个用户可以登录并将其用户数据保存到 mysql-db 的应用程序。我正在使用 PreferenceActivity 和 PreferenceFragment 来处理这个问题。通常这工作
我们使用自定义标签代码在 Google map 中添加带有标签的标记,还使用 MarkerCluster 库对标记进行聚类。 我们的问题是标记隐藏了,但标签仍然显示。我们需要修改http://go
我有一个包含 3 列的 CSV 文件;文本,整数,文本。当我导入这些时,所有数据都包含在双括号中。我不确定为什么。是否可以使用 COPY 在导入时删除这些内容?或者我应该导入为文本,然后使用 sele
我是一名优秀的程序员,十分优秀!