我有一门豆子课
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
public class Form {
private String name;
private Long numID;
private String Address;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private LocalDate date1;
// getters and setters
}
这在rest控制器类中使用
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
public class MyController {
private String MY_URL = "/model.do"
@RequestMapping(value = {MY_URL}, method = RequestMethod.POST)
@ResponseBody
Public Model getModelType(@ModelAttribute Form myForm){
}
}
现在,当我传递一个阿拉伯日期对象时,该对象编码如下
%D9%A2%D9%A0%D9%A1%D9%A9-%D9%A0%D9%A4-%D9%A1%D9%A5,转换失败,出现以下错误
org.springframework.validation.bindexception:org.springframework.validation.BeanPropertyBindingResult:1错误字段“date1”上对象“form”中的字段错误:被拒绝的值[????-??-??];代码[typemismatch.form.date1,typemismatch.isocheckindate,typemismatch.java.time.localdate,typemismatch];参数[org.springframework.context.support.defaultmessageSourceResolvable:代码[form.isoCheckInDate,isoCheckInDate];参数[];默认消息[isoCheckInDate]];默认消息[无法将类型“java.lang.String”的属性值转换为属性“Date1”的必需类型“java.time.localdate”;嵌套异常为org.springframework.core.convert.conversionfailedexception:无法将值“????-??-??”的类型[java.lang.String]转换为类型[@org.springframework.format.annotation.datetimeformat java.time.localdate];嵌套异常为java.lang.IllegalArgumentException:对值[????-??-??
有没有办法处理这种情况?
虽然我不知道spring框架做了什么以及为什么,但我可以向您展示如何用简单的Java解析您的字符串:
DecimalStyle defaultDecimalStyle
= DateTimeFormatter.ISO_LOCAL_DATE.getDecimalStyle();
DateTimeFormatter arabicDateFormatter = DateTimeFormatter.ISO_LOCAL_DATE
.withDecimalStyle(defaultDecimalStyle.withZeroDigit('\u0660'));
String encodedArabicDateStr = "%D9%A2%D9%A0%D9%A1%D9%A9-%D9%A0%D9%A4-%D9%A1%D9%A5";
String arabicDateStr
= URLDecoder.decode(encodedArabicDateStr, StandardCharsets.UTF_8);
LocalDate date = LocalDate.parse(arabicDateStr, arabicDateFormatter);
System.out.println("Parsed date: " + date);
此代码段的输出为:
解析日期:2019-04-15
唯一的诀窍是告诉格式化程序解析阿拉伯数字。当我们告诉它零数字(或
'\u0660'
)时,它会计算出其他数字。
当我使用ITextRenderer将html转换为PDF时,这是我的代码 阿拉伯语连字怎么做?
问题内容: 我正在评估NLTK处理阿拉伯文本的能力,这项研究旨在分析和提取情感。 问题如下: NTLK是否可以处理并允许分析阿拉伯文本? python是否能够操纵\标记阿拉伯文本? 我可以使用Python解析和存储阿拉伯文本吗? 如果python和NTLK不是完成这项工作的工具,那么您会推荐哪些工具(如果存在)? 谢谢。 编辑 根据研究: NTLK仅能阻止阿拉伯文本:链接 Python支持UTF-
我在从网络编码阿拉伯语响应时遇到问题,我正在使用volley调用网络服务 我试图解决这个问题。 我创建了自定义请求,然后在我登录时使用utf-8编码解析网络响应,以检查结果。这给了我奇怪的文字,这里是我的日志{“data”:null,“msg”:“ÙÙÙÙÙˆØØØØØØØØØØØØØØØØØØØØØØØØØ21所有尝试均失败。 谢谢你的帮助谢谢
我正在尝试使用最新的雅虎天气apihttps://weather-ydn-yql.media.yahoo.com/forecastrss它工作得很好,但当我设置语言(lang=ar AE)时,它返回带问号的json响应,而不是阿拉伯字符。例如“城市”:“城市”对于英语来说,这是可以的。 我没看到留档里有关于utf设置的东西 当我打开雅虎的天气页面https://www.yahoo.com/news
问题内容: 我有一个要排序的阿拉伯语单词列表。我曾尝试使用不同的语言环境(例如英语或法语,但希望不高)使用标准的Collator,甚至创建了自己的RuleBasedCollator,但无济于事。显然,默认排序依赖于unicode值顺序,该顺序在许多情况下都有效,但显然不适用于此顺序。 按照javadocs的说明,RuleBasedCollator需要一个字符串,该字符串以您希望它们排序
问题内容: 我有来自服务器的日期,格式为“ 2013-01-20T16:48:43”,我的应用程序同时支持阿拉伯语和英语语言环境。但是,当我将语言环境更改为阿拉伯语时,日期无法解析,因此无法解析。到现在为止我写的是 问题答案: 不要将您的日期解析为阿拉伯语,除了按如下方式尝试通过仅设置“英语区域设置”之外,它还会给您带来错误提示。