- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有fileUpload
的managementBean
,一旦文件上传,我需要根据从解析器下拉列表中选择的值调用不同的解析器,然后在解析器中创建DetailsClass
对象,其中调用该特定类的getDetails
方法,这里需要注意的是,parserClass
和DetailsClass
都没有在faces-config.xml中注册,我的这里的问题是
FileUpload
类到 Parser
类到 DetailsClass
的 session 信息,那么我应该在 faces-config.xml
中定义它,但是应该如何定义 parser
类和 DetailsClass
,它应该定义为 managementBean
还是其他东西?这是代码:
在我的 ManagedBean 类中,我有两个函数,fileUpload
和 callParser
,如下所示:
public void uploadFile(FileEntryEvent event)
{
FacesContext ctx = FacesContext.getCurrentInstance();
//Setting getSession to false, container will not create new session if session is not present and return null
HttpSession session = (HttpSession) ctx.getExternalContext().getSession(false);
setSession(session);
resultBean = new ResultBean();
FileEntry fileEntry = (FileEntry) event.getSource();
FileEntryResults results = fileEntry.getResults();
FileEntry fe = (FileEntry) event.getComponent();
FacesMessage msg = new FacesMessage();
for (FileEntryResults.FileInfo fileInfo : results.getFiles())
{
if (fileInfo.isSaved())
{
File file = fileInfo.getFile();
String filePath = file.getAbsolutePath();
callParser(selectedItem, filePath);
}
resultBeanList.add(resultBean);
}
}
private void callParser(String parserType, String filePath)
{
if ("Delta".equals(parserType))
{
PositionParserDelta deltaParser = new PositionParserDelta();
deltaParser.getQuotes(filePath);
}
else if ("Gamma".equals(parserType))
{
PositionParserGamma gammaParser = new PositionParserGamma();
gammaParser.getQuotes(filePath);
}
}
现在,假设我们考虑 Delta Parser
,所以在该类中我有类似的内容:
public class PositionParserDelta extends Base
{
List<String[]> dataList = new ArrayList<String[]>();
ContractManager contractManager = new ContractManager();
public PositionParserDelta()
{
}
public void getQuotes(String fileName)
{
try
{
Map<String, ContractSeries> gsLookup = contractManager.getContractsMap(ContractManager.VendorQuotes.KRT);
CSVReader reader = new CSVReader(new FileReader(fileName), '\t');
String[] header = reader.readNext();
dataList = reader.readAll();
List<Trade> tradeBeanList = new ArrayList<Trade>();
for (String[] data : dataList)
{
//Some Business Logic
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
我的contractManager
类看起来像
public class ContractManager extends Base
{
private List<Series> List = new ArrayList<Series>();
private ContractSeries[] SeriesList = new Series[3];
private ListingOps listingOps;
//This line throws error as faces class not found and it makes sense because am not registering this with faces-config.xml
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
public List<ContractSeries> getContracts(long orgId, HttpSession session)
{
log.info("Inside getContracts method call");
if (false)
{
//Some Logic
}
else
{
try
{
//Set session and get initialContext to retrieve contractSeries data from ejb calls
log.info("Trying to get allContractSeries data from listingOpsBean");
Series[] allSeries = deltaOps.findAllSeries(true);
Collections.addAll(contractList, allContractSeries);
}
catch (Exception ex)
{
}
}
return contractList;
}
public Map<String, ContractSeries> getContractsMap(VendorQuotes vendorQuotes)
{ //Some Logic
}
但是在 faces-config.xml 文件中,
<managed-bean>
<managed-bean-name>fileUpload</managed-bean-name>
<managed-bean-class>trade.UploadBlotterBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
所以基本上我的问题是,
if suppose am calling other classes from
managedBean
then how should they be defined infaces-config.xml
and since am new toJSF
, is calling other classes frommanagedBean
and having some business logic in those classes considered good practice?
此外,我需要确保在 Parser
和 ContractMapping
类中维护在 UploadFile
中获得的 session 。
另外,
Is everything is 'registered' as managed-bean in faces-config ?
最佳答案
不确定,但我认为每个 bean 都注册为 <managed-bean>
在faces-config
。就具体角色而言,一个类所扮演的角色,可以分为
Model Managed-Bean
支持托管 Bean
Controller 托管 Bean
支持托管 Bean
实用程序托管 Bean ...
通过给它们适当的名称,您可以在 faces-config
中区分它们。根据 bean 服务的工作,设置范围。
关于java - JSF : ManagedBean, 处理业务逻辑的好地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10283262/
好的,这是我的 session bean。我总是可以从任何 Servlet 或过滤器中检索 currentUser。那不是问题问题是fileList和currentFile。我已经用简单的 int 和
我觉得 Java EE 6 规范有些困惑。有几组注释。 我们有javax.ejb注释如 @Stateful和 @Stateless用于创建 EJB。 还有一个@javax.annotation.Man
这个问题已经有答案了: Backing beans (@ManagedBean) or CDI Beans (@Named)? (5 个回答) 已关闭 7 年前。 我刚刚创建了一个新的 Maven 项
我正在开发一个复合组件,它必须进行一些计算才能使布局正常工作。对于 EL 来说过于复杂的计算(实际上并不复杂,但我无法通过 EL 执行它们)。我可以专门为该复合组件创建一个 ManagedBean 吗
我在@ManagedBean类中使用Bean管理事务来手动管理事务, @ManagedBean(name = "clients") @ViewScoped @URLMapping(id = "sous
这个问题在这里已经有了答案: How to inject @EJB, @PersistenceContext, @Inject, @Autowired, etc in @FacesConverter
我有一个 jsf View ,它显示了来自表中托管 bean( View 范围)的一些数据,这些数据是远程检索的。 目前,数据是通过使用 primefaces 轮询组件从客户端 View 轮询来更新的
在我的网络应用程序中,当我点击登录链接时,Tomcat 网络服务器抛出以下异常: exception javax.servlet.ServletException: /aluno_jsf.xhtml:
我对应用程序中 ManagedBeans 的使用有疑问。 我有一个页面,其中包含不同的 JSP 组件,如 autoComplete、selectOneMenu、textarea、inputFields
为了获得良好的用户反馈,我在网络应用程序的多个站点上使用消息。 要添加消息,我简单地使用: FacesContext.getCurrentInstance().addMessage(null, new
我一直在为我的 bean 使用注释(我以前没有使用过它们),我发现我必须包含一些依赖项等等,如下所示: com.sun.faces
我是 richfaces 的新手,我想使用注释而不是 xml 配置来支持 bean 类 [就像 JSF 2.0] 我正在使用 richfaces 4.0 并将所有必需的 jar 包含在我的构建路径中。
我目前正在将一个项目从 JBoss 4.2.2 迁移到 JBoss 6.0.0,我还在使用 CDI 添加依赖注入(inject)并从 JSF 1.2 迁移到 JSF 2.0。我向 ejb-packag
可以将无状态 session bean 注入(inject) jsf 托管 bean 中吗? 我有 @ManagedBean(name = "imageUpload") @RequestScoped
我有一个名为 Foo 的类。还有一个名为 FooBean 的 ManagedBean。在页面(Facelet)中,我从用户那里获取新的 Foo 信息并将其插入到数据库中。首次提交数据后,将启用打印按钮
我有fileUpload的managementBean,一旦文件上传,我需要根据从解析器下拉列表中选择的值调用不同的解析器,然后在解析器中创建DetailsClass对象,其中调用该特定类的getDe
我尝试编写一个应用程序来创建 PDF 文件,它使用 JavaServer Faces。当我将文本框的值从 bean 赋予工厂类时,我遇到了一个问题,这些值丢失了。我想知道为什么会发生这种情况,已经尝试
我想知道在两个 ViewScoped bean 之间传递数据(对象)的最佳实践是什么。 由于出色解释的问题,它们需要在 View 范围内here (简而言之:在这两个 View 中,我都在 h:dat
我有 Controller-ManagedBeans 和 Model-ManagedBeans(如 MVC 模式)。 这是我的 Controller : @ManagedBean @Req
这个问题在这里已经有了答案: Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable (18 个回
我是一名优秀的程序员,十分优秀!