Jsf F5在URL中使用无效符号的错误请求

Jsf F5在URL中使用无效符号的错误请求,jsf,jakarta-ee,browser,primefaces,get,Jsf,Jakarta Ee,Browser,Primefaces,Get,我有两个页面,从第一页到第二页传递参数。链接是动态创建的。我知道用Java代替XHTML是一种不好的做法,但事实确实如此 public static String SELF_ANALYSIS_URL = "/dashboard/IndicatorOlapView.xhtml"; protected org.primefaces.component.link.Link createLink(IndicatorConclusion indicatorConclusion) { Link l

我有两个页面,从第一页到第二页传递参数。链接是动态创建的。我知道用Java代替XHTML是一种不好的做法,但事实确实如此

public static String SELF_ANALYSIS_URL = "/dashboard/IndicatorOlapView.xhtml";

protected org.primefaces.component.link.Link createLink(IndicatorConclusion indicatorConclusion) {
    Link linkIndicatorOlapView = new Link();
    linkIndicatorOlapView.setOnclick("PF('olapQueryDialog').show();");
    linkIndicatorOlapView.setTitle("Показатель");
    linkIndicatorOlapView.setValue(indicatorConclusion.getIndicatorCondition().getObjectName());
    linkIndicatorOlapView.setOutcome(SELF_ANALYSIS_URL);
    Param paramKey = new Param();
    paramKey.setName("indicatorConclusionKey");
    paramKey.setValue(createEncodeParam(indicatorConclusion.getKey()));
    linkIndicatorOlapView.getChildren().add(paramKey);
    return linkIndicatorOlapView;
}
IndicatorOlapView.xhtml

<f:metadata>
    <f:viewParam name="indicatorConclusionKey"
                 value="#{indicatorOlapViewModel.indicatorConclusionKey}"/>
    <f:viewAction action="#{indicatorOlapViewModel.init}"/>
</f:metadata>

参数包含的url符号无效,如
[]、=
。第二个页面已成功呈现,但如果我按F5,则会得到无效的url和
400错误请求
。为什么要使用解码url进行刷新?为什么浏览器显示解码url

第一页到第二页的链接:
http://localhost:8080/dashboard/IndicatorOlapView.xhtml?indicatorConclusionKey=*坐标%253D%255B%255B%25D0%25A4%25D0%259B%255D%255DminValue%253D0.0maxValue%253D100.0


第二页地址栏中的URL:
http://localhost:8080/dashboard/IndicatorOlapView.xhtml?indicatorConclusionKey=*坐标=[[%D0%A4%D0%9B]]minValue=0.0maxValue=100.0

我不知道您想做什么以及如何做。请创建一个。根据你的标签,它在不使用utf-8时工作,对吗?编码不是问题。url中的无效符号是问题所在,尽管带有encode参数的url是有效的。当我不使用utf-8时,问题也一样。从标签中删除utf-8。尝试过不同的浏览器吗?是的,我尝试过firefox和chrome。谢谢。好的,我使用primefaces
p:link
,但这可能是相同的。请解释我为什么在第一页我看到正确的链接和编码无效的符号(感谢的
p:link
),但第二页的地址栏包含解码url?浏览器自动解码链接?我正确理解浏览器从缓存中通过F5获取链接?对缓存中存储的url进行解码或编码?