- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有这样的支持 bean:
@ManagedBean
@SessionScoped
public class TestBean {
private String testString;
public String getTestString() {
return testString;
}
public void setTestString(String testString) {
this.testString = testString;
}
}
我的 xhtml 页面也非常简单:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:head></h:head>
<h:body>
<h:form>
<h:inputText value="#{testBean.testString}"/>
<h:commandButton action="#{testController.testAction}"/>
</h:form>
</h:body>
</html>
我想要的一切 - 渲染我的 h:inputText
元素没有值(空)。
我是 JSF 的新手,所以,你能帮帮我吗?
最诚挚的问候!
更新!
这是简化的代码,我在其他地方使用 testString
并且 testString
具有值(value),我想隐藏它!我想保留这个值(value)。
最佳答案
前提是它真的是一个request/view scoped bean,你可能是浏览器内置自动完成/自动填充功能的受害者。您可以通过向相关输入组件添加 autocomplete="off"
来关闭它。
<h:inputText ... autocomplete="off" />
再次注意,填充输入的不是 JSF,而是网络浏览器本身。清除浏览器缓存,你会发现浏览器不会再这样做了。根据浏览器品牌/版本,您还可以将其重新配置为不那么急切地自动完成。
更新:根据您的问题更新,您的 bean 结果是 session 范围的。这不是基于请求/ View 的表单的正常范围。 session 范围的 bean 实例在同一 HTTP session 中的所有浏览器窗口/选项卡(读取:所有请求/ View )之间共享。您通常只在 session 中存储登录用户及其首选项(语言等)。只有当您关闭并重新启动整个浏览器,或使用不同的浏览器/机器时,您才会获得一个全新的实例。
将其更改为请求或 View 范围。在这个特别简单的示例中,请求范围应该足够了:
@ManagedBean
@RequestScoped
更新 2 基于评论,
Oh, you right, it's better for me to use @RequestScoped. But it doesn't resolve my problem - I want to keep this value, but I don;t want to show it in textInput. This value is important in context of request-response cycle.
现在具体的功能需求更加清晰了(以后的问题,请注意准备问题,我不知道你一开始是这样问的)。在这种情况下,使用具有 2 个属性的 View 范围 bean:
@ManagedBean
@ViewScoped
public class TestBean {
private String testString;
private String savedTestString;
public void testAction() {
savedTestString = testString;
testString = null;
}
// ...
}
例如,您也可以将其存储在数据库中或实际上又位于 session 范围内的注入(inject)托管 bean 的属性中。
关于java - 将 JSF inputText 与支持 bean 的字段链接而不显示其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14400820/
我有三个单选按钮,一个 inputText 和一个提交按钮。我只想在选择某个 radio 时验证提交时的输入文本。所以我有 在我的 bean 里,我有 public void validateNu
我想在页面加载时将焦点设置在JSF中的inputText字段上。我该如何实现? 最佳答案 如果您已经在使用HTML5和JSF 2.2,请使用HTML5 autofocus属性。在JSF 2.2中,可以
当特定 inputText 出现验证错误时,我想将焦点设置在 JSF 中的 inputText 字段上。我该如何实现? 我认为 inputText 上的 validatorMessage 会开箱即用,
我在 blazor 中有一个 InputText,我想阻止非数字字符,那么基本的 razor 和 c# 代码是什么?这是我需要它的工作方式,用户输入一个字符,它一起拒绝输入,并显示一条验证消息,说明只
我只需要允许字母字符 [A-Z,a-z]在 PrimeFaces inputText 字段中。 我怎样才能做到这一点? 最佳答案 不是针对 Primefaces,而是针对底层 JSF: 您可以在输入字
我需要实现以下内容: 以 ajax 方式上传多个文件(无需刷新整个页面) 每个文件的描述字段 必须使用 JSF 2.0 完成 以任意组合执行 3 个要求中的 2 个没有问题。使用 JSF 2.0 的多
我想在 JSF/Primefaces inputText 组件中显示默认的信息文本。 当用户单击文本字段时,此文本应该消失。 当他点击外部而不输入任何内容时出现。 如果用户提交的表单没有任何值,则不应
这个问题在这里已经有了答案: What is a NullReferenceException, and how do I fix it? (27 个回答) 2年前关闭。 当我使用 Blazor 中
JSF-2.0、Mojarra 2.1.19、PrimeFaces 3.4.1 问题摘要:有 p:inputText里面p:dataTable和由 p:remoteCommand 触发的 inputT
使用example from the Microsoft docs ,我正在尝试以编程方式将焦点设置到输入元素。 不幸的是,该示例使用标准 而我想用它来 InputText element . Mic
以下是我的 abc.xhtml 页面中的代码片段: 这是我的 panelGrid 我正在动态生成 inputTe
我正在尝试制作一个日期掩码和一个小时掩码,但我遇到了问题。这样,面膜就可以很好地发挥作用。但停止工作 Controller 上设置的默认输入。 public class someController
我正在使用 netbeans 开发一个 jsf Web 应用程序。
我正在使用 JSF,我想在 InputText 元素的 keyup 事件上调用监听器,但前提是输入文本长于 3 个字符。 我的代码是: 现在我正在我的听众中检查文本的长度,效果很好,但速度很
有没有一种方法可以将 inputText 的返回值与多个属性关联起来? 像这样(这是一个示例,语法中不存在 value1 和 value2 标签属性): 提前致谢! 最佳答案 也许只需将 inpu
我有一个富数据表的列,如下所示:
在 Jquery 中,我成功向托管 bean 发送值 document.getElementById('formId:inputId').value = "blavla"; document.getE
这个问题已经有答案了: Clear JSF form input values after submitting (5 个回答) 已关闭 8 年前。 我是 java 服务器面孔的新手。当我单击提交按钮
我正在尝试制作一个只接受浮点值的输入文本。此外,输入的值必须介于两个值之间。 我创建了一个包含“验证”方法的类。如果该值不在两个值之间,则会显示一个弹出窗口。 但是我有一个问题。该方法仅在用户点击“E
在使用 Moharra JSF 2 的 JBoss AS 7.1.1 上,使用 inputText 元素创建的 XHTML 文件不会呈现属性 required="true"。 没有错误,但输出的 HT
我是一名优秀的程序员,十分优秀!