gpt4 book ai didi

java - 转义=java字符串中的字符

转载 作者:行者123 更新时间:2023-12-01 15:37:31 26 4
gpt4 key购买 nike

我正在格式化我的问题。非常遗憾。这是我的问题的摘要

在 JSP 中我有一个字段

<input  maxlength="200" name="productName" >

我输入的值类似于“cQN==ujyRMdr+Qi8dO9Xm*eRun+ner==aLTyt?aKmGI

实际行动

public String getXMLObject(HttpServletRequest request)  throws Exception
{
URLDecoder decoder = new URLDecoder();
String productName = decoder.decode(productLicenseKey ,"UTF-8");
System.out.println("-->ProductNameAction---->getXMLObject--->productName --> : "+productName);
}

我得到的输出为“cQN==ujyRMdr Qi8dO9Xm*eRun ner==aLTyt?aKmGI”。如果您观察到 + 正在转换为我不想要的空格。

如果我不使用decode.decode,其他字符将转换为相应的转义字符。但我想要的是在 Action 类中

<小时/>

编码如何进行iam和检索值

在 JSP 中我有一个字段

我输入的值类似于“1012990-c1e197eda0s-a1de198b0b2-819e25307de-xnXrmXWBidhksyn70rGyTHa==cQNujyRMdrQi8dO9Xm+eRunERd==aLTyt+aKmGI+KRCcRtmP5ehfR==”行动中

private String saveProductName( SWHttpServletRequest request)
throws Exception

{
try
{
String ProductName = request.getParameter("ProductName");
System.out.println("-->ProductAction---->saveProductName--->ProductName --> : "+ProductName);
}
}

我得到的输出为“1012990-c1e197eda0s-a1de198b0b2-819e25307de-xnXrmXWBidhksyn70rGyTHa%253D%253DcQNujyRMdrQi8dO9Xm+eRunERd%253D%253DaLTyt+aKmGI+KRCcRt mP5ehfR%253D%253D"如果我们使用解码器,除了 + 一切都工作正常

最佳答案

您不必解码操作中的任何内容。 servlet api 会为您完成这些工作。 request.getParameter() 就足够了。问题是您在生成表单字段或 URL 时没有正确编码参数。

如果它是表单字段,那么它是 HTML 代码的一部分,因此必须进行 HTML 转义:

<input type="hidden" name="someName" value="<c:out value="${theFieldValue}"/>"/>

struts html:hidden 还可以正确处理 html 转义。

如果是 URL,则应进行 url 编码和 html 转义:

<c:url var="theUrl" value="someUrl.do">
<c:param name="someName" value="${theFieldValue}"/>
</c:url>
<a href="<c:out value="${theUrl}"/>">The link text</a>

如果您在表单的文本字段中键入此值,则 request.getParameter() 就足够了。

关于java - 转义=java字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com