在 URL 中隐藏参数值 - JSF 应用程序

发布于 2024-12-09 04:52:33 字数 400 浏览 0 评论 0原文

<h:outputLink value="#{beanname.path}">
    <h:outputText value="Output label"></h:outputText>
    <f:param name name="name" value="tommy"/>
</h:outputLink>

http://127.0.0.1:7101/projectt/faces/index.jsp ?名字=汤米 我的 URL 与参数值一起出现。我想把它隐藏在URL中并在bean类中获取它。

<h:outputLink value="#{beanname.path}">
    <h:outputText value="Output label"></h:outputText>
    <f:param name name="name" value="tommy"/>
</h:outputLink>

http://127.0.0.1:7101/projectt/faces/index.jsp?name=tommy
my URL appears with the param value. I want to hide it in the URL and get it in the bean class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月牙弯弯 2024-12-16 04:52:33

那么,您想要一个 POST 请求吗?请改用

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome}">
        <f:param name name="name" value="tommy"/>
    </h:commandLink>
</h:form>

该参数可以设置为

@ManagedProperty("#{param.name}")
private String name;

或通过 传递:

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome}">
        <f:setPropertyActionListener target="#{beanname.name}" value="tommy"/>
    </h:commandLink>
</h:form>

或者当您已经在支持 Servlet 3.0 / EL 2.2 的容器(Tomcat 7、Glassfish 3 等)上时, 将其作为操作方法参数传递:

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome('tommy')}" />
</h:form>

只需

public String outcome(String name) {
    // ...

    return "index";
}

So, you want a POST request? Use <h:commandLink> instead.

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome}">
        <f:param name name="name" value="tommy"/>
    </h:commandLink>
</h:form>

The parameter can be set as

@ManagedProperty("#{param.name}")
private String name;

or can passed by <f:setPropertyActionListener> instead:

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome}">
        <f:setPropertyActionListener target="#{beanname.name}" value="tommy"/>
    </h:commandLink>
</h:form>

or when you're already on a Servlet 3.0 / EL 2.2 capable container (Tomcat 7, Glassfish 3, etc), just pass it as action method argument:

<h:form>
    <h:commandLink value="Output label" action="#{beanname.outcome('tommy')}" />
</h:form>

with

public String outcome(String name) {
    // ...

    return "index";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文