小编Mdh*_*r9e的帖子

将HashMap转换为ArrayList

我只想将transitionHash映射值移动到cardholderDataRecords arraylist中.

HashMap<String,ExceptionLifeCycleDataBean> transitionHash = new HashMap<String,ExceptionLifeCycleDataBean>();

ArrayList<ExceptionLifeCycleDataBean> cardholderDataRecords = new ArrayList<ExceptionLifeCycleDataBean>();
Run Code Online (Sandbox Code Playgroud)

我正在做

cardholderDataRecords.add((ExceptionLifeCycleDataBean) transitionHash.values());
Run Code Online (Sandbox Code Playgroud)

它在扔

java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to com.reportss.bean.ExceptionLifeCycleDataBean
Run Code Online (Sandbox Code Playgroud)

java generics collections

44
推荐指数
1
解决办法
8万
查看次数

Java防止跨站点脚本的最佳实践

我已经完成了OWASP十大漏洞,发现跨站点脚本是我们必须记笔记的.建议的解决方案很少.有人说不要使用"黑名单"验证来检测输入中的XSS或编码输出.搜索和替换只有几个字符(<以及>其他类似的字符或短语script)很弱,并且已成功攻击.即使是未经检查的“<b>”标签在某些情况下也是不安全的.XSS拥有数量惊人的变体,可以轻松绕过黑名单验证.另一个解决方案是强输出编码.在渲染之前,确保所有用户提供的数据都经过适当的实体编码(HTML或XML,具体取决于输出机制).那么,这是阻止跨站点脚本验证和替换输入或编码输出的最佳方法?

java security xss

34
推荐指数
3
解决办法
9万
查看次数

将http标头设置为浏览器生成的请求?

我有服务器的HTTP基本身份验证,我有客户端脚本,知道上述HTTP服务器的用户名和密码.我使用XHR请求并setRequestHeader设置授权标头,这一点避免了浏览器提示默认的HTTP登录对话框.

request.setRequestHeader('Authorization', authInfo);
Run Code Online (Sandbox Code Playgroud)

对于AJAX请求来说是正常,但是如果我想要从所提到的服务器下载文件并且我被迫使用AJAX并且使用类似于window.location.hrefJavaScript的浏览器创建请求本身.由于此请求不包括授权标头(brwoser将仅在提示登录对话框后自动为每个请求添加授权标头并保存实际服务器的登录信息的base64)浏览器将提示HTTP登录对话框,我想避免.

那么有没有办法将标头设置为浏览器创建的非ajax请求?

javascript browser authentication http http-headers

8
推荐指数
1
解决办法
5957
查看次数

对于如何验证spring mvc表单感到困惑,我的选择是什么?

最新的春季mvc,使用freemarker.

希望有人可以告诉我在使用spring mvc验证表单方面我的选择是什么,以及建议的方法是做什么.

我有一个不直接映射到模型的表单,它有输入字段,当发布时,将用于初始化我需要验证的2个模型对象,如果它们通过,我将保存它们.

如果它们失败,我想返回到表单,用用户输入的内容预填充值并显示错误消息.

我已经在这里和那里阅读了大约2种方法,其中一次我已经完成并理解它是如何工作的:

@RequestMapping(...., method = RequestMethod.POST)
public ModelAndView myMethod(@Valid MyModel, BindingResult bindingResult) {
  ModelAndView mav = new ModelAndView("some/view");
  mav.addObject("mymodel", myModel);

  if(bindingResult.hasErrors()) {
     return mav;
  }

}
Run Code Online (Sandbox Code Playgroud)

现在,如果我的表单直接映射到表单,这有效,但在我的情况下,我有:

  1. 表单字段不映射到任何特定模型,它们具有来自2个模型的一些属性.

  2. 在验证发生之前,我需要手动创建2个模型,从表单中设置值,并手动设置一些属性:

  3. 在两个模型(model1,model2)上调用validate,并将这些错误消息附加到错误集合中,如果事情不起作用,我需要将其传递回相同的视图页面.

  4. 当表单发布时,我必须做一些数据库调用,并根据这些结果可能需要向错误集合添加其他消息.

有人能告诉我如何进行这种验证吗?

下面的伪代码:

   Model1 model1 = new Model1();
   Model2 model2 = new Model2();

   // manually or somehow automatically set the posted form values to model1 and model2.

   // set some fields manually, not from posted form
   model1.setProperty10(GlobalSettings.getDefaultProperty10());
   model2.setProperty11(GlobalSettings.getDefaultProperty11());

   // db calls, if they fail, add to …
Run Code Online (Sandbox Code Playgroud)

java validation spring freemarker spring-mvc

5
推荐指数
1
解决办法
2902
查看次数

String对象为Boolean

当我试图将String对象转换为boolean时,结果是不同的.

String strFlag="true";
boolean boolFlag = Boolean.getBoolean(strFlag);
Run Code Online (Sandbox Code Playgroud)

boolFlag最终有了false价值.

java type-conversion

5
推荐指数
2
解决办法
294
查看次数

使用泛型的绑定不匹配错误

当我尝试在1.5中编译我以前的java 1.4代码时,我得到了这个泛型绑定不匹配问题.代码如下

try {
    ArrayList simplePrincipals = new ArrayList(
            ((java.util.Collection) (subject.getPrincipals(Class
                    .forName("com.efunds.security.jaas.SimplePrincipal")))));
    if (simplePrincipals.size() > 0) {
        ((SimplePrincipal) simplePrincipals.get(0))
                .setPermissions(webPerm);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

绑定不匹配:getPrincipals(Class<T>)类型Subject 的泛型方法不适用于参数(Class<capture#1- of ?>).推断类型capture#1-of ?不是有界参数的有效替代<T extends Principal>

java generics collections

2
推荐指数
1
解决办法
1801
查看次数

迭代ArrayList的通用类型<User>

我试图从arraylist获取值.

我有User类型bean类,如下所示..

class User{

      public String link;
      public String url;

     User(String l,String u){
           this.link=link;
           this.url=url;
      }
setters and getters below.. 
Run Code Online (Sandbox Code Playgroud)

在这里,我正在尝试用main编写一个类.

public class ListClass{
      public static void main(String args[]){
            List<User> list = new ArrayList<User>();
            list.add(new User("link1","url1"));
            list.add(new User("link2","url2"));
            list.add(new User("link3","url3"));

            //here i want to iterate both links and urls one by one 

            Iterator it=list.iterator();
            // remaining the code to get both link1 and url1 ..
}
Run Code Online (Sandbox Code Playgroud)

我需要输出为:

link1  url1
link2  url2
link3  url2
Run Code Online (Sandbox Code Playgroud)

java collections

2
推荐指数
1
解决办法
1万
查看次数

上个月的最后日期,返回5月的30天

我正在使用以下代码检索上个月的最后一天-例如:5月。但是它返回的是30天而不是31天。

下面给出的代码

package net.vcmg.date;
import java.util.Calendar;
import java.util.Date;

import org.apache.commons.lang.time.DateUtils;

public class LastDayPreviousMonth {
    public static void main(String[] args) {
        Date lastDateOfPreviousMonth = addMonths(lastDayOfTheMonth(today()), -1);
        System.out.println("lastDateOfPreviousMonth: "+lastDateOfPreviousMonth);

    }

    //the below method is from Utils.java
    public static Date lastDayOfTheMonth(Date d) {
           Calendar cal = Calendar.getInstance();
           cal.setTime(d);
           int actualMax = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
           cal.set(Calendar.DAY_OF_MONTH, actualMax);
           return cal.getTime();
    }

    public static Date addMonths(Date date, int numMonths)
    {
        return DateUtils.addMonths(date, numMonths);
    }

    public static Date today()
    {
        return truncDate(now());
    }

    public static Date now()
    {
        // …
Run Code Online (Sandbox Code Playgroud)

java date

2
推荐指数
1
解决办法
66
查看次数

日志信息不在控制台上打印

在我的Struts项目中,我正在使用Loggers.我在调试模式下运行我的WSAD服务器.这里下面的条件令人满意,但它不是在控制台中打印日志信息.

if(count.intValue() > 1)
{
    if (log.isDebugEnabled())
        log.info("many");

    return mapping.findForward("many");
}
Run Code Online (Sandbox Code Playgroud)

在这里,我将Logger级别设置为INFO.

java logging

1
推荐指数
1
解决办法
5901
查看次数

两个单选按钮一次选择

我在divjsp页面中添加了一个单选按钮.但是新添加的单选按钮总是在选择,当我点击第二个单选按钮时,它也会选择.有没有写入此脚本的脚本.

<div style="padding-left:15px">
        <div>
             Entry Mode Code was:
        </div>
        <div style="padding-left:30px">
            <div>
                <html:radio name="caseForm" property="questionnaire.RP0062.posEntryModeCd" value="A" styleId="posEntryModeCda"> 05 - Chip Card read (data is reliable)</html:radio>  
            </div>          
            <div>
                <html:radio name="caseForm" property="questionnaire.RP2462.posEntryModeCd" value="B"> 90 - Magnetic Stripe Terminal and the full unaltered contents of the selected track is included</html:radio>
            </div>
            <div>
                <html:radio name="caseForm" property="questionnaire.RP2462.posEntryModeCd" value="C" > Not Applicable</html:radio>
            </div>          
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

附图: 在此输入图像描述

html jsp struts

1
推荐指数
1
解决办法
351
查看次数

Java中给定日期减去一毫秒

我有一个日期字段expiryDate,其值为Thu Nov 21 00:00:00 IST 2019但我试图通过从Thu Nov 20 23:59:59 IST 的时间中删除一毫秒来获取当天之前的 endDate 时间2019 年, 我们是否有任何方法可以从给定日期中删除毫秒。

java milliseconds java.util.date

1
推荐指数
1
解决办法
698
查看次数

在HTML页面中我们可以使用jsp代码

page.html我们可以使用javascript代码,我接受,但我们可以在html文件中使用jsp和tld文件.

请解释.

html jsp

-5
推荐指数
1
解决办法
4612
查看次数