Если вы хотите прочитать обе строки и ints, решение должно использовать два сканера:
Scanner stringScanner = new Scanner(System.in);
Scanner intScanner = new Scanner(System.in);
intScanner.nextInt();
String s = stringScanner.nextLine(); // unaffected by previous nextInt()
System.out.println(s);
intScanner.close();
stringScanner.close();
Существует еще один способ использования Spring-управляемых компонентов в JSF-управляемых компонентах, просто расширяя ваш JSF-компонент из SpringBeanAutowiringSupport
, а Spring будет обрабатывать инъекцию зависимостей.
@ManagedBean // JSF-managed.
@ViewScoped // JSF-managed scope.
public class GoodBean extends SpringBeanAutowiringSupport {
@Autowired
private SpringBeanClass springBeanName; // No setter required.
// springBeanName is now available.
}
Легкий способ сделать это через XML. Я использовал @Component
в уже обработанном jsf bean, но @Autowired
не работал, потому что управляемый bean-компонент уже присутствовал в faces-config.xml. Если необходимо сохранить это управляемое имя компонента вместе с его управляемым свойством в XML-файле, тогда предлагается добавить весенний компонент в качестве другого управляемого свойства внутри тега управляемого компонента. Здесь весенний боб в нем определяется в spring-config.xml (может быть где-то попеременно). пожалуйста, обратитесь к https://stackoverflow.com/a/19904591/5620851
под редакцией меня. Я предлагаю либо реализовать его полностью через аннотацию @Managed и @Component, либо через xml для обоих.