我有一个非常奇怪的问题,在localhost上工作的经典而不是服务器。
我试图找到一个更大的问题并发现这段代码:
<div class="pageHeader"><h1>Products2 #{products.debug} </h1></div>
何时:
@ManagedBean(name="products")
@SessionScoped
public class ProductsBean {
private String debug = "Debug : ";
public ProductsBean() {
debug = "Debug : ";
}
public String getDebug() {
return debug;
}
public void setDebug(String debug) {
this.debug = debug;
}
debug
字符串有getter / setters,
在localhost中完美运行,但在远程无法运行。在远程服务器中它根本不回显字符串,并且没有抛出异常,我不知道如何开始寻找问题。问题是这个问题以其他方式重复出现,例如,这个页面有一个dataTable,它显示为空,尽管它不在localhost中。当我在一个完整的不同页面上尝试上传文件时,我得到了Target Unreachable, identifier resolved to null
的例外,这不是本例中的问题,但它似乎与某种方式相关我估计
有任何帮助吗?我使用Oracle GlassFish在Oracle Linux Server上运行
答案 0 :(得分:0)
问题出在这里。
Target Unreachable, identifier 'loadSimCards' resolved to null
我相信#loadSimCards
在处理期间解析为null。
该对象未在您的bean中创建/预先填充。
检查代码并验证是否确实填充了代码。 如果您仍然遇到问题,可以发布Java代码。
还要检查faces-config.xml
中的beans.xml文件和声明参考 - JEE CDI tip: Target Unreachable, identifier resolved to null
答案 1 :(得分:-1)
我脑海中的第一步是做一个右键点击 - &gt;在浏览器中查看源代码并告诉我们它显示的内容。在视图源中,如果字符串“#{products.debug}未被打印,则表示服务器确实正在评估EL表达式,但在呈现时它将作为空字符串。
将纯EL表达式替换为数据绑定控件,如h:inputText,看看会发生什么。
&LT; h:inputText value =“#{products.debug}”/&gt;
可能不相关,但你有&lt; base /&gt;标题在头部中的页面中声明?基本标记href提供加载子资源的位置。我在移动服务器时看到了一些异常行为,当主页从远程加载而子资源从开发人员盒上的本地主机本身加载时,因为忘记更改基本标记引用。